Compare commits
147 Commits
v2.1.2
...
v2.2.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90b06833ba | ||
|
|
221fccf3bc | ||
|
|
3740980007 | ||
|
|
d1b53f4c3a | ||
|
|
d51ea54ab9 | ||
|
|
3300f0e8d3 | ||
|
|
cd1273981d | ||
|
|
fd0ffd2a39 | ||
|
|
d60bc10941 | ||
|
|
5085e0c420 | ||
|
|
3dbddedf91 | ||
|
|
e255bec7ad | ||
|
|
cbe79d7051 | ||
|
|
089bb38e6a | ||
|
|
2077126064 | ||
|
|
7a4ad0ee2f | ||
|
|
4bb68d0163 | ||
|
|
f80a11d1f4 | ||
|
|
f61e3d8cec | ||
|
|
7fab42baa5 | ||
|
|
4ab4581393 | ||
|
|
4c8d261da0 | ||
|
|
88c9fd0c7b | ||
|
|
f1c5f83412 | ||
|
|
2d9b9b5c5d | ||
|
|
c7c4895eab | ||
|
|
979b870c9c | ||
|
|
041aa2a163 | ||
|
|
1bb990b796 | ||
|
|
a6e7e1966e | ||
|
|
db263b8db4 | ||
|
|
0289620262 | ||
|
|
d8ef0cd3ac | ||
|
|
68be897379 | ||
|
|
2016d4bca6 | ||
|
|
0c2d88960c | ||
|
|
e3e1cddd2f | ||
|
|
00b564149d | ||
|
|
dee614f6ac | ||
|
|
896a4cbcfc | ||
|
|
e731077077 | ||
|
|
4a907f9dc6 | ||
|
|
b0baf6aa0d | ||
|
|
8dddfe38a9 | ||
|
|
0f9f905fd1 | ||
|
|
bc8e3109fa | ||
|
|
56b0eab9b4 | ||
|
|
5914d99283 | ||
|
|
d942cb48a5 | ||
|
|
4d0429b786 | ||
|
|
2b1c511611 | ||
|
|
8a86b63693 | ||
|
|
2a2c1a6291 | ||
|
|
ce1860b7d1 | ||
|
|
37e01c5e91 | ||
|
|
0ff05d5551 | ||
|
|
9b428821f6 | ||
|
|
21bb879fc1 | ||
|
|
8a97880cdb | ||
|
|
ca267744a6 | ||
|
|
a4253301dc | ||
|
|
402c5e3444 | ||
|
|
f12eb333d2 | ||
|
|
a0b50d7735 | ||
|
|
3967ce0854 | ||
|
|
ed55e86a9d | ||
|
|
c93adba276 | ||
|
|
e05ca7d691 | ||
|
|
e688948e42 | ||
|
|
5148de8f17 | ||
|
|
6f1cdd0c8b | ||
|
|
d3c53c7406 | ||
|
|
b2d08d69cf | ||
|
|
b85c2a6e0f | ||
|
|
f1f847a9f8 | ||
|
|
8b5d3dabe7 | ||
|
|
ac4588cdab | ||
|
|
baa75b77a7 | ||
|
|
f2a08444fe | ||
|
|
c866fbf6df | ||
|
|
6a07eb0d91 | ||
|
|
057a96001d | ||
|
|
f173b17b90 | ||
|
|
6b47895aec | ||
|
|
4cbf2e0eb4 | ||
|
|
a530d8b17f | ||
|
|
e32066affd | ||
|
|
d5cc558670 | ||
|
|
a52f98c39d | ||
|
|
7beb832007 | ||
|
|
3e1c4a7e59 | ||
|
|
3b8d3221cf | ||
|
|
b594a9d249 | ||
|
|
d20cec4e59 | ||
|
|
e5972aa181 | ||
|
|
b0912064cc | ||
|
|
84737bca6e | ||
|
|
14db7e4c8b | ||
|
|
9624801716 | ||
|
|
904cf62c78 | ||
|
|
92e2df4627 | ||
|
|
f157a50952 | ||
|
|
c3927c9f0a | ||
|
|
45505c86d9 | ||
|
|
4fbab41cc8 | ||
|
|
b2769d2af3 | ||
|
|
8fa672e312 | ||
|
|
2c5cf94982 | ||
|
|
72ded16543 | ||
|
|
7d67c8ea6e | ||
|
|
1051919a8a | ||
|
|
8ca6f06650 | ||
|
|
906189c43a | ||
|
|
0ba6d651c0 | ||
|
|
2a7b4f9aed | ||
|
|
892cebd8f4 | ||
|
|
2e8bd7f32e | ||
|
|
275895bedd | ||
|
|
ec699f28fb | ||
|
|
85ad0aaa27 | ||
|
|
9e2581d734 | ||
|
|
be0fd7c582 | ||
|
|
26b4bd899b | ||
|
|
a3d9e87f0e | ||
|
|
4a24a173d3 | ||
|
|
05098b1141 | ||
|
|
6a7d5fbe6a | ||
|
|
75b8ec855b | ||
|
|
b89630953c | ||
|
|
04c42b82f4 | ||
|
|
6ec07e5315 | ||
|
|
ea5dc8738c | ||
|
|
619eee9492 | ||
|
|
c9f2bd4029 | ||
|
|
795fb9342a | ||
|
|
0b04dbbca2 | ||
|
|
55df5dbd35 | ||
|
|
0b79aaaf2f | ||
|
|
7d858a8abd | ||
|
|
32af9420dc | ||
|
|
7195d6ea31 | ||
|
|
a111dc044f | ||
|
|
563ae8540b | ||
|
|
279cba5d79 | ||
|
|
32c740e572 | ||
|
|
28bc08c5a8 | ||
|
|
a0e3468c51 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,4 @@
|
||||
sitemap
|
||||
data
|
||||
docker-compose.yml
|
||||
backend/mempool-config.json
|
||||
|
||||
48
GNUmakefile
Executable file
48
GNUmakefile
Executable file
@@ -0,0 +1,48 @@
|
||||
# If you see pwd_unknown showing up check permissions
|
||||
PWD ?= pwd_unknown
|
||||
|
||||
# DATABASE DEPLOY FOLDER CONFIG - default ./data
|
||||
ifeq ($(data),)
|
||||
DATA := data
|
||||
export DATA
|
||||
else
|
||||
DATA := $(data)
|
||||
export DATA
|
||||
endif
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@echo ''
|
||||
@echo ''
|
||||
@echo ' Usage: make [COMMAND]'
|
||||
@echo ''
|
||||
@echo ' make all # build init mempool and electrs'
|
||||
@echo ' make init # setup some useful configs'
|
||||
@echo ' make mempool # build q dockerized mempool.space'
|
||||
@echo ' make electrs # build a docker electrs image'
|
||||
@echo ''
|
||||
|
||||
.PHONY: init
|
||||
init:
|
||||
@echo ''
|
||||
mkdir -p $(DATA) $(DATA)/mysql $(DATA)/mysql/db-scripts $(DATA)/mysql/data
|
||||
install -v mariadb-structure.sql $(DATA)/mysql/db-scripts
|
||||
#REF: https://github.com/mempool/mempool/blob/master/docker/README.md
|
||||
cat docker/docker-compose.yml > docker-compose.yml
|
||||
cat backend/mempool-config.sample.json > backend/mempool-config.json
|
||||
.PHONY: mempool
|
||||
mempool: init
|
||||
@echo ''
|
||||
docker-compose up --force-recreate --always-recreate-deps
|
||||
@echo ''
|
||||
.PHONY: electrs
|
||||
electrum:
|
||||
#REF: https://hub.docker.com/r/beli/electrum
|
||||
@echo ''
|
||||
docker build -f docker/electrum/Dockerfile .
|
||||
@echo ''
|
||||
.PHONY: all
|
||||
all: init
|
||||
make mempool
|
||||
#######################
|
||||
-include Makefile
|
||||
47
LICENSE
47
LICENSE
@@ -1,35 +1,24 @@
|
||||
MIT License with Commons Clause License Condition v1.0
|
||||
The Mempool Open Source Project
|
||||
Copyright (c) 2019-2021 The Mempool Open Source Project Developers
|
||||
|
||||
Copyright (c) 2019-2020 The Mempool Open Source Project
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of (at your option) either:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, and/or sublicense
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
1) the GNU Affero General Public License as published by the Free Software
|
||||
Foundation, either version 3 of the License or any later version approved by a
|
||||
proxy statement published on <https://mempool.space/about>; or
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
2) the GNU General Public License as published by the Free Software
|
||||
Foundation, either version 3 of the License or any later version approved by a
|
||||
proxy statement published on <https://mempool.space/about>.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
However, these licenses do not grant you any rights to use the "mempool.space"
|
||||
trademarks or logos, or any other trademarks of Mempool Space K.K.
|
||||
|
||||
Commons Clause License Condition v1.0
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the full license terms for more details.
|
||||
|
||||
Without limiting other conditions in the License, the grant of rights under
|
||||
the License will not include, and the License does not grant to you, the
|
||||
right to Sell the Software.
|
||||
|
||||
For purposes of the foregoing, “Sell” means practicing any or all of the
|
||||
rights granted to you under the License to provide to third parties, for a
|
||||
fee or other consideration (including without limitation fees for hosting or
|
||||
consulting/ support services related to the Software), a product or service
|
||||
whose value derives, entirely or substantially, from the functionality of
|
||||
the Software. Any license notice or attribution required by the License must
|
||||
also include this Commons Cause License Condition notice.
|
||||
You should have received a copy of both the GNU Affero General Public License
|
||||
and the GNU General Public License along with this program. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
660
LICENSE.AGPL-3.md
Normal file
660
LICENSE.AGPL-3.md
Normal file
@@ -0,0 +1,660 @@
|
||||
### GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
<https://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
### Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains
|
||||
free software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing
|
||||
under this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
### TERMS AND CONDITIONS
|
||||
|
||||
#### 0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds
|
||||
of works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of
|
||||
an exact copy. The resulting work is called a "modified version" of
|
||||
the earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user
|
||||
through a computer network, with no transfer of a copy, is not
|
||||
conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices" to
|
||||
the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
#### 1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work for
|
||||
making modifications to it. "Object code" means any non-source form of
|
||||
a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users can
|
||||
regenerate automatically from other parts of the Corresponding Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that same
|
||||
work.
|
||||
|
||||
#### 2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not convey,
|
||||
without conditions so long as your license otherwise remains in force.
|
||||
You may convey covered works to others for the sole purpose of having
|
||||
them make modifications exclusively for you, or provide you with
|
||||
facilities for running those works, provided that you comply with the
|
||||
terms of this License in conveying all material for which you do not
|
||||
control copyright. Those thus making or running the covered works for
|
||||
you must do so exclusively on your behalf, under your direction and
|
||||
control, on terms that prohibit them from making any copies of your
|
||||
copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under the
|
||||
conditions stated below. Sublicensing is not allowed; section 10 makes
|
||||
it unnecessary.
|
||||
|
||||
#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such
|
||||
circumvention is effected by exercising rights under this License with
|
||||
respect to the covered work, and you disclaim any intention to limit
|
||||
operation or modification of the work as a means of enforcing, against
|
||||
the work's users, your or third parties' legal rights to forbid
|
||||
circumvention of technological measures.
|
||||
|
||||
#### 4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
#### 5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these
|
||||
conditions:
|
||||
|
||||
- a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
- b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under
|
||||
section 7. This requirement modifies the requirement in section 4
|
||||
to "keep intact all notices".
|
||||
- c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
- d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
#### 6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms of
|
||||
sections 4 and 5, provided that you also convey the machine-readable
|
||||
Corresponding Source under the terms of this License, in one of these
|
||||
ways:
|
||||
|
||||
- a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
- b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the Corresponding
|
||||
Source from a network server at no charge.
|
||||
- c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
- d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
- e) Convey the object code using peer-to-peer transmission,
|
||||
provided you inform other peers where the object code and
|
||||
Corresponding Source of the work are being offered to the general
|
||||
public at no charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal,
|
||||
family, or household purposes, or (2) anything designed or sold for
|
||||
incorporation into a dwelling. In determining whether a product is a
|
||||
consumer product, doubtful cases shall be resolved in favor of
|
||||
coverage. For a particular product received by a particular user,
|
||||
"normally used" refers to a typical or common use of that class of
|
||||
product, regardless of the status of the particular user or of the way
|
||||
in which the particular user actually uses, or expects or is expected
|
||||
to use, the product. A product is a consumer product regardless of
|
||||
whether the product has substantial commercial, industrial or
|
||||
non-consumer uses, unless such uses represent the only significant
|
||||
mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to
|
||||
install and execute modified versions of a covered work in that User
|
||||
Product from a modified version of its Corresponding Source. The
|
||||
information must suffice to ensure that the continued functioning of
|
||||
the modified object code is in no case prevented or interfered with
|
||||
solely because modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or
|
||||
updates for a work that has been modified or installed by the
|
||||
recipient, or for the User Product in which it has been modified or
|
||||
installed. Access to a network may be denied when the modification
|
||||
itself materially and adversely affects the operation of the network
|
||||
or violates the rules and protocols for communication across the
|
||||
network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
#### 7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders
|
||||
of that material) supplement the terms of this License with terms:
|
||||
|
||||
- a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
- b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
- c) Prohibiting misrepresentation of the origin of that material,
|
||||
or requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
- d) Limiting the use for publicity purposes of names of licensors
|
||||
or authors of the material; or
|
||||
- e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
- f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions
|
||||
of it) with contractual assumptions of liability to the recipient,
|
||||
for any liability that these contractual assumptions directly
|
||||
impose on those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions; the
|
||||
above requirements apply either way.
|
||||
|
||||
#### 8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
#### 9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or run
|
||||
a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
#### 10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
#### 11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims owned
|
||||
or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within the
|
||||
scope of its coverage, prohibits the exercise of, or is conditioned on
|
||||
the non-exercise of one or more of the rights that are specifically
|
||||
granted under this License. You may not convey a covered work if you
|
||||
are a party to an arrangement with a third party that is in the
|
||||
business of distributing software, under which you make payment to the
|
||||
third party based on the extent of your activity of conveying the
|
||||
work, and under which the third party grants, to any of the parties
|
||||
who would receive the covered work from you, a discriminatory patent
|
||||
license (a) in connection with copies of the covered work conveyed by
|
||||
you (or copies made from those copies), or (b) primarily for and in
|
||||
connection with specific products or compilations that contain the
|
||||
covered work, unless you entered into that arrangement, or that patent
|
||||
license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
#### 12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under
|
||||
this License and any other pertinent obligations, then as a
|
||||
consequence you may not convey it at all. For example, if you agree to
|
||||
terms that obligate you to collect a royalty for further conveying
|
||||
from those to whom you convey the Program, the only way you could
|
||||
satisfy both those terms and this License would be to refrain entirely
|
||||
from conveying the Program.
|
||||
|
||||
#### 13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your
|
||||
version supports such interaction) an opportunity to receive the
|
||||
Corresponding Source of your version by providing access to the
|
||||
Corresponding Source from a network server at no charge, through some
|
||||
standard or customary means of facilitating copying of software. This
|
||||
Corresponding Source shall include the Corresponding Source for any
|
||||
work covered by version 3 of the GNU General Public License that is
|
||||
incorporated pursuant to the following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
#### 14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Affero General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever
|
||||
published by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future versions
|
||||
of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
#### 15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
|
||||
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION.
|
||||
|
||||
#### 16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
|
||||
CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
|
||||
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
|
||||
NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
|
||||
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
||||
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
#### 17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
### How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to
|
||||
attach them to the start of each source file to most effectively state
|
||||
the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper
|
||||
mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for
|
||||
the specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. For more information on this, and how to apply and follow
|
||||
the GNU AGPL, see <https://www.gnu.org/licenses/>.
|
||||
675
LICENSE.GPL-3.md
Normal file
675
LICENSE.GPL-3.md
Normal file
@@ -0,0 +1,675 @@
|
||||
### GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
<https://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
### Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom
|
||||
to share and change all versions of a program--to make sure it remains
|
||||
free software for all its users. We, the Free Software Foundation, use
|
||||
the GNU General Public License for most of our software; it applies
|
||||
also to any other work released this way by its authors. You can apply
|
||||
it to your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you
|
||||
have certain responsibilities if you distribute copies of the
|
||||
software, or if you modify it: responsibilities to respect the freedom
|
||||
of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the
|
||||
manufacturer can do so. This is fundamentally incompatible with the
|
||||
aim of protecting users' freedom to change the software. The
|
||||
systematic pattern of such abuse occurs in the area of products for
|
||||
individuals to use, which is precisely where it is most unacceptable.
|
||||
Therefore, we have designed this version of the GPL to prohibit the
|
||||
practice for those products. If such problems arise substantially in
|
||||
other domains, we stand ready to extend this provision to those
|
||||
domains in future versions of the GPL, as needed to protect the
|
||||
freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish
|
||||
to avoid the special danger that patents applied to a free program
|
||||
could make it effectively proprietary. To prevent this, the GPL
|
||||
assures that patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
### TERMS AND CONDITIONS
|
||||
|
||||
#### 0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds
|
||||
of works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of
|
||||
an exact copy. The resulting work is called a "modified version" of
|
||||
the earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user
|
||||
through a computer network, with no transfer of a copy, is not
|
||||
conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices" to
|
||||
the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
#### 1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work for
|
||||
making modifications to it. "Object code" means any non-source form of
|
||||
a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users can
|
||||
regenerate automatically from other parts of the Corresponding Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that same
|
||||
work.
|
||||
|
||||
#### 2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not convey,
|
||||
without conditions so long as your license otherwise remains in force.
|
||||
You may convey covered works to others for the sole purpose of having
|
||||
them make modifications exclusively for you, or provide you with
|
||||
facilities for running those works, provided that you comply with the
|
||||
terms of this License in conveying all material for which you do not
|
||||
control copyright. Those thus making or running the covered works for
|
||||
you must do so exclusively on your behalf, under your direction and
|
||||
control, on terms that prohibit them from making any copies of your
|
||||
copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under the
|
||||
conditions stated below. Sublicensing is not allowed; section 10 makes
|
||||
it unnecessary.
|
||||
|
||||
#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such
|
||||
circumvention is effected by exercising rights under this License with
|
||||
respect to the covered work, and you disclaim any intention to limit
|
||||
operation or modification of the work as a means of enforcing, against
|
||||
the work's users, your or third parties' legal rights to forbid
|
||||
circumvention of technological measures.
|
||||
|
||||
#### 4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
#### 5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these
|
||||
conditions:
|
||||
|
||||
- a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
- b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under
|
||||
section 7. This requirement modifies the requirement in section 4
|
||||
to "keep intact all notices".
|
||||
- c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
- d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
#### 6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms of
|
||||
sections 4 and 5, provided that you also convey the machine-readable
|
||||
Corresponding Source under the terms of this License, in one of these
|
||||
ways:
|
||||
|
||||
- a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
- b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the Corresponding
|
||||
Source from a network server at no charge.
|
||||
- c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
- d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
- e) Convey the object code using peer-to-peer transmission,
|
||||
provided you inform other peers where the object code and
|
||||
Corresponding Source of the work are being offered to the general
|
||||
public at no charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal,
|
||||
family, or household purposes, or (2) anything designed or sold for
|
||||
incorporation into a dwelling. In determining whether a product is a
|
||||
consumer product, doubtful cases shall be resolved in favor of
|
||||
coverage. For a particular product received by a particular user,
|
||||
"normally used" refers to a typical or common use of that class of
|
||||
product, regardless of the status of the particular user or of the way
|
||||
in which the particular user actually uses, or expects or is expected
|
||||
to use, the product. A product is a consumer product regardless of
|
||||
whether the product has substantial commercial, industrial or
|
||||
non-consumer uses, unless such uses represent the only significant
|
||||
mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to
|
||||
install and execute modified versions of a covered work in that User
|
||||
Product from a modified version of its Corresponding Source. The
|
||||
information must suffice to ensure that the continued functioning of
|
||||
the modified object code is in no case prevented or interfered with
|
||||
solely because modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or
|
||||
updates for a work that has been modified or installed by the
|
||||
recipient, or for the User Product in which it has been modified or
|
||||
installed. Access to a network may be denied when the modification
|
||||
itself materially and adversely affects the operation of the network
|
||||
or violates the rules and protocols for communication across the
|
||||
network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
#### 7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders
|
||||
of that material) supplement the terms of this License with terms:
|
||||
|
||||
- a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
- b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
- c) Prohibiting misrepresentation of the origin of that material,
|
||||
or requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
- d) Limiting the use for publicity purposes of names of licensors
|
||||
or authors of the material; or
|
||||
- e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
- f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions
|
||||
of it) with contractual assumptions of liability to the recipient,
|
||||
for any liability that these contractual assumptions directly
|
||||
impose on those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions; the
|
||||
above requirements apply either way.
|
||||
|
||||
#### 8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
#### 9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or run
|
||||
a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
#### 10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
#### 11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims owned
|
||||
or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within the
|
||||
scope of its coverage, prohibits the exercise of, or is conditioned on
|
||||
the non-exercise of one or more of the rights that are specifically
|
||||
granted under this License. You may not convey a covered work if you
|
||||
are a party to an arrangement with a third party that is in the
|
||||
business of distributing software, under which you make payment to the
|
||||
third party based on the extent of your activity of conveying the
|
||||
work, and under which the third party grants, to any of the parties
|
||||
who would receive the covered work from you, a discriminatory patent
|
||||
license (a) in connection with copies of the covered work conveyed by
|
||||
you (or copies made from those copies), or (b) primarily for and in
|
||||
connection with specific products or compilations that contain the
|
||||
covered work, unless you entered into that arrangement, or that patent
|
||||
license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
#### 12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under
|
||||
this License and any other pertinent obligations, then as a
|
||||
consequence you may not convey it at all. For example, if you agree to
|
||||
terms that obligate you to collect a royalty for further conveying
|
||||
from those to whom you convey the Program, the only way you could
|
||||
satisfy both those terms and this License would be to refrain entirely
|
||||
from conveying the Program.
|
||||
|
||||
#### 13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
#### 14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in
|
||||
detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies that a certain numbered version of the GNU General Public
|
||||
License "or any later version" applies to it, you have the option of
|
||||
following the terms and conditions either of that numbered version or
|
||||
of any later version published by the Free Software Foundation. If the
|
||||
Program does not specify a version number of the GNU General Public
|
||||
License, you may choose any version ever published by the Free
|
||||
Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future versions
|
||||
of the GNU General Public License can be used, that proxy's public
|
||||
statement of acceptance of a version permanently authorizes you to
|
||||
choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
#### 15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
|
||||
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION.
|
||||
|
||||
#### 16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
|
||||
CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
|
||||
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
|
||||
NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
|
||||
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
||||
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
#### 17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
### How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to
|
||||
attach them to the start of each source file to most effectively state
|
||||
the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper
|
||||
mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands \`show w' and \`show c' should show the
|
||||
appropriate parts of the General Public License. Of course, your
|
||||
program's commands might be different; for a GUI interface, you would
|
||||
use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. For more information on this, and how to apply and follow
|
||||
the GNU GPL, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your
|
||||
program into proprietary programs. If your program is a subroutine
|
||||
library, you may consider it more useful to permit linking proprietary
|
||||
applications with the library. If this is what you want to do, use the
|
||||
GNU Lesser General Public License instead of this License. But first,
|
||||
please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
@@ -79,7 +79,7 @@ Install mempool dependencies from npm and build the backend:
|
||||
|
||||
```bash
|
||||
# backend
|
||||
cd ../backend/
|
||||
cd backend
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
"API_URL_PREFIX": "/api/v1/",
|
||||
"POLL_RATE_MS": 2000,
|
||||
"CACHE_DIR": "./cache",
|
||||
"CLEAR_PROTECTION_MINUTES": 20
|
||||
"CLEAR_PROTECTION_MINUTES": 20,
|
||||
"RECOMMENDED_FEE_PERCENTILE": 50
|
||||
},
|
||||
"CORE_RPC": {
|
||||
"HOST": "127.0.0.1",
|
||||
@@ -38,6 +39,13 @@
|
||||
"USERNAME": "mempool",
|
||||
"PASSWORD": "mempool"
|
||||
},
|
||||
"SYSLOG": {
|
||||
"ENABLED": true,
|
||||
"HOST": "127.0.0.1",
|
||||
"PORT": 514,
|
||||
"MIN_PRIORITY": "info",
|
||||
"FACILITY": "local7"
|
||||
},
|
||||
"STATISTICS": {
|
||||
"ENABLED": true,
|
||||
"TX_PER_SECOND_SAMPLE_PERIOD": 150
|
||||
|
||||
36
backend/package-lock.json
generated
36
backend/package-lock.json
generated
@@ -7,7 +7,7 @@
|
||||
"": {
|
||||
"name": "mempool-backend",
|
||||
"version": "2.0.0",
|
||||
"license": "MIT",
|
||||
"license": "GNU Affero General Public License v3.0",
|
||||
"dependencies": {
|
||||
"@mempool/bitcoin": "^3.0.2",
|
||||
"@mempool/electrum-client": "^1.1.7",
|
||||
@@ -16,17 +16,17 @@
|
||||
"crypto-js": "^4.0.0",
|
||||
"express": "^4.17.1",
|
||||
"locutus": "^2.0.12",
|
||||
"mysql2": "^2.2.5",
|
||||
"node-worker-threads-pool": "^1.4.2",
|
||||
"ws": "^7.3.1"
|
||||
"mysql2": "2.2.5",
|
||||
"node-worker-threads-pool": "^1.4.3",
|
||||
"ws": "^7.4.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/compression": "^1.0.1",
|
||||
"@types/express": "^4.17.2",
|
||||
"@types/locutus": "^0.0.6",
|
||||
"@types/ws": "^6.0.4",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "~3.9.7"
|
||||
"tslint": "^6.1.0",
|
||||
"typescript": "^4.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
@@ -1480,9 +1480,9 @@
|
||||
"integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g=="
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "3.9.7",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
|
||||
"integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
|
||||
"integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
@@ -1544,9 +1544,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
|
||||
"integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==",
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
|
||||
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
@@ -2785,9 +2785,9 @@
|
||||
"integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g=="
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.9.7",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
|
||||
"integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
|
||||
"integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
|
||||
"dev": true
|
||||
},
|
||||
"unpipe": {
|
||||
@@ -2833,9 +2833,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
|
||||
"integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==",
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
|
||||
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
|
||||
"requires": {}
|
||||
},
|
||||
"yallist": {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "mempool-backend",
|
||||
"version": "2.0.0",
|
||||
"version": "2.2.0-dev",
|
||||
"description": "Bitcoin mempool visualizer and blockchain explorer backend",
|
||||
"license": "MIT",
|
||||
"license": "GNU Affero General Public License v3.0",
|
||||
"homepage": "https://mempool.space",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -36,15 +36,15 @@
|
||||
"express": "^4.17.1",
|
||||
"locutus": "^2.0.12",
|
||||
"mysql2": "2.2.5",
|
||||
"node-worker-threads-pool": "^1.4.2",
|
||||
"ws": "^7.3.1"
|
||||
"node-worker-threads-pool": "^1.4.3",
|
||||
"ws": "^7.4.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/compression": "^1.0.1",
|
||||
"@types/express": "^4.17.2",
|
||||
"@types/locutus": "^0.0.6",
|
||||
"@types/ws": "^6.0.4",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "~3.9.7"
|
||||
"tslint": "^6.1.0",
|
||||
"typescript": "^4.1.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,24 @@
|
||||
import * as fs from 'fs';
|
||||
import * as os from 'os';
|
||||
import logger from '../logger';
|
||||
import { IBackendInfo } from '../mempool.interfaces';
|
||||
|
||||
class BackendInfo {
|
||||
gitCommitHash = '';
|
||||
hostname = '';
|
||||
private gitCommitHash = '';
|
||||
private hostname = '';
|
||||
private version = '';
|
||||
|
||||
constructor() {
|
||||
this.setLatestCommitHash();
|
||||
this.setVersion();
|
||||
this.hostname = os.hostname();
|
||||
}
|
||||
|
||||
public getBackendInfo() {
|
||||
public getBackendInfo(): IBackendInfo {
|
||||
return {
|
||||
'hostname': this.hostname,
|
||||
'git-commit': this.gitCommitHash,
|
||||
hostname: this.hostname,
|
||||
gitCommit: this.gitCommitHash,
|
||||
version: this.version,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -29,6 +33,15 @@ class BackendInfo {
|
||||
logger.err('Could not load git commit info: ' + e.message || e);
|
||||
}
|
||||
}
|
||||
|
||||
private setVersion(): void {
|
||||
try {
|
||||
const packageJson = fs.readFileSync('package.json').toString();
|
||||
this.version = JSON.parse(packageJson).version;
|
||||
} catch (e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new BackendInfo();
|
||||
|
||||
@@ -3,7 +3,6 @@ import { IEsploraApi } from './esplora-api.interface';
|
||||
export interface AbstractBitcoinApi {
|
||||
$getRawMempool(): Promise<IEsploraApi.Transaction['txid'][]>;
|
||||
$getRawTransaction(txId: string, skipConversion?: boolean, addPrevout?: boolean): Promise<IEsploraApi.Transaction>;
|
||||
$getRawTransactionBitcoind(txId: string, skipConversion?: boolean, addPrevout?: boolean): Promise<IEsploraApi.Transaction>;
|
||||
$getBlockHeightTip(): Promise<number>;
|
||||
$getTxIdsForBlock(hash: string): Promise<string[]>;
|
||||
$getBlockHash(height: number): Promise<string>;
|
||||
|
||||
@@ -22,16 +22,6 @@ class BitcoinApi implements AbstractBitcoinApi {
|
||||
});
|
||||
}
|
||||
|
||||
$getRawTransactionBitcoind(txId: string, skipConversion = false, addPrevout = false): Promise<IEsploraApi.Transaction> {
|
||||
return this.bitcoindClient.getRawTransaction(txId, true)
|
||||
.then((transaction: IBitcoinApi.Transaction) => {
|
||||
if (skipConversion) {
|
||||
return transaction;
|
||||
}
|
||||
return this.$convertTransaction(transaction, addPrevout);
|
||||
});
|
||||
}
|
||||
|
||||
$getRawTransaction(txId: string, skipConversion = false, addPrevout = false): Promise<IEsploraApi.Transaction> {
|
||||
// If the transaction is in the mempool we already converted and fetched the fee. Only prevouts are missing
|
||||
const txInMempool = mempool.getMempool()[txId];
|
||||
@@ -47,6 +37,9 @@ class BitcoinApi implements AbstractBitcoinApi {
|
||||
return this.bitcoindClient.getRawTransaction(txId, true)
|
||||
.then((transaction: IBitcoinApi.Transaction) => {
|
||||
if (skipConversion) {
|
||||
transaction.vout.forEach((vout) => {
|
||||
vout.value = vout.value * 100000000;
|
||||
});
|
||||
return transaction;
|
||||
}
|
||||
return this.$convertTransaction(transaction, addPrevout);
|
||||
|
||||
@@ -48,11 +48,6 @@ class ElectrsApi implements AbstractBitcoinApi {
|
||||
throw new Error('Method getAddressTransactions not implemented.');
|
||||
}
|
||||
|
||||
$getRawTransactionBitcoind(txId: string): Promise<IEsploraApi.Transaction> {
|
||||
return axios.get<IEsploraApi.Transaction>(config.ESPLORA.REST_API_URL + '/tx/' + txId, this.axiosConfig)
|
||||
.then((response) => response.data);
|
||||
}
|
||||
|
||||
$getAddressPrefix(prefix: string): string[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
@@ -84,14 +84,21 @@ class Blocks {
|
||||
}
|
||||
}
|
||||
|
||||
transactions.forEach((tx) => {
|
||||
if (!tx.cpfpChecked) {
|
||||
Common.setRelativesAndGetCpfpInfo(tx, mempool);
|
||||
}
|
||||
});
|
||||
|
||||
logger.debug(`${transactionsFound} of ${txIds.length} found in mempool. ${txIds.length - transactionsFound} not found.`);
|
||||
|
||||
const blockExtended: BlockExtended = Object.assign({}, block);
|
||||
blockExtended.reward = transactions[0].vout.reduce((acc, curr) => acc + curr.value, 0);
|
||||
blockExtended.coinbaseTx = transactionUtils.stripCoinbaseTransaction(transactions[0]);
|
||||
transactions.sort((a, b) => b.feePerVsize - a.feePerVsize);
|
||||
blockExtended.medianFee = transactions.length > 1 ? Common.median(transactions.map((tx) => tx.feePerVsize)) : 0;
|
||||
blockExtended.feeRange = transactions.length > 1 ? Common.getFeesInRange(transactions.slice(0, transactions.length - 1), 8) : [0, 0];
|
||||
transactions.shift();
|
||||
transactions.sort((a, b) => b.effectiveFeePerVsize - a.effectiveFeePerVsize);
|
||||
blockExtended.medianFee = transactions.length > 1 ? Common.median(transactions.map((tx) => tx.effectiveFeePerVsize)) : 0;
|
||||
blockExtended.feeRange = transactions.length > 1 ? Common.getFeesInRange(transactions, 8) : [0, 0];
|
||||
|
||||
if (block.height % 2016 === 0) {
|
||||
this.lastDifficultyAdjustmentTime = block.timestamp;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TransactionExtended, TransactionStripped } from '../mempool.interfaces';
|
||||
import { CpfpInfo, TransactionExtended, TransactionStripped } from '../mempool.interfaces';
|
||||
|
||||
export class Common {
|
||||
static median(numbers: number[]) {
|
||||
@@ -12,17 +12,28 @@ export class Common {
|
||||
return medianNr;
|
||||
}
|
||||
|
||||
static percentile(numbers: number[], percentile: number) {
|
||||
if (percentile === 50) {
|
||||
return this.median(numbers);
|
||||
}
|
||||
const index = Math.ceil(numbers.length * (100 - percentile) * 1e-2);
|
||||
if (index < 0 || index > numbers.length - 1) {
|
||||
return 0;
|
||||
}
|
||||
return numbers[index];
|
||||
}
|
||||
|
||||
static getFeesInRange(transactions: TransactionExtended[], rangeLength: number) {
|
||||
const arr = [transactions[transactions.length - 1].feePerVsize];
|
||||
const arr = [transactions[transactions.length - 1].effectiveFeePerVsize];
|
||||
const chunk = 1 / (rangeLength - 1);
|
||||
let itemsToAdd = rangeLength - 2;
|
||||
|
||||
while (itemsToAdd > 0) {
|
||||
arr.push(transactions[Math.floor(transactions.length * chunk * itemsToAdd)].feePerVsize);
|
||||
arr.push(transactions[Math.floor(transactions.length * chunk * itemsToAdd)].effectiveFeePerVsize);
|
||||
itemsToAdd--;
|
||||
}
|
||||
|
||||
arr.push(transactions[0].feePerVsize);
|
||||
arr.push(transactions[0].effectiveFeePerVsize);
|
||||
return arr;
|
||||
}
|
||||
|
||||
@@ -64,4 +75,74 @@ export class Common {
|
||||
}, ms);
|
||||
});
|
||||
}
|
||||
|
||||
static shuffleArray(array: any[]) {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[array[i], array[j]] = [array[j], array[i]];
|
||||
}
|
||||
}
|
||||
|
||||
static setRelativesAndGetCpfpInfo(tx: TransactionExtended, memPool: { [txid: string]: TransactionExtended }): CpfpInfo {
|
||||
const parents = this.findAllParents(tx, memPool);
|
||||
const lowerFeeParents = parents.filter((parent) => parent.feePerVsize < tx.effectiveFeePerVsize);
|
||||
|
||||
let totalWeight = tx.weight + lowerFeeParents.reduce((prev, val) => prev + val.weight, 0);
|
||||
let totalFees = tx.fee + lowerFeeParents.reduce((prev, val) => prev + val.fee, 0);
|
||||
|
||||
tx.ancestors = parents
|
||||
.map((t) => {
|
||||
return {
|
||||
txid: t.txid,
|
||||
weight: t.weight,
|
||||
fee: t.fee,
|
||||
};
|
||||
});
|
||||
|
||||
// Add high (high fee) decendant weight and fees
|
||||
if (tx.bestDescendant) {
|
||||
totalWeight += tx.bestDescendant.weight;
|
||||
totalFees += tx.bestDescendant.fee;
|
||||
}
|
||||
|
||||
tx.effectiveFeePerVsize = totalFees / (totalWeight / 4);
|
||||
tx.cpfpChecked = true;
|
||||
|
||||
return {
|
||||
ancestors: tx.ancestors,
|
||||
bestDescendant: tx.bestDescendant || null,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
private static findAllParents(tx: TransactionExtended, memPool: { [txid: string]: TransactionExtended }): TransactionExtended[] {
|
||||
let parents: TransactionExtended[] = [];
|
||||
tx.vin.forEach((parent) => {
|
||||
if (parents.find((p) => p.txid === parent.txid)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const parentTx = memPool[parent.txid];
|
||||
if (parentTx) {
|
||||
if (tx.bestDescendant && tx.bestDescendant.fee / (tx.bestDescendant.weight / 4) > parentTx.feePerVsize) {
|
||||
if (parentTx.bestDescendant && parentTx.bestDescendant.fee < tx.fee + tx.bestDescendant.fee) {
|
||||
parentTx.bestDescendant = {
|
||||
weight: tx.weight + tx.bestDescendant.weight,
|
||||
fee: tx.fee + tx.bestDescendant.fee,
|
||||
txid: tx.txid,
|
||||
};
|
||||
}
|
||||
} else if (tx.feePerVsize > parentTx.feePerVsize) {
|
||||
parentTx.bestDescendant = {
|
||||
weight: tx.weight,
|
||||
fee: tx.fee,
|
||||
txid: tx.txid
|
||||
};
|
||||
}
|
||||
parents.push(parentTx);
|
||||
parents = parents.concat(this.findAllParents(parentTx, memPool));
|
||||
}
|
||||
});
|
||||
return parents;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ import blocks from './blocks';
|
||||
import logger from '../logger';
|
||||
import config from '../config';
|
||||
import { TransactionExtended } from '../mempool.interfaces';
|
||||
import { Common } from './common';
|
||||
|
||||
class DiskCache {
|
||||
private static FILE_NAME = config.MEMPOOL.CACHE_DIR + '/cache.json';
|
||||
private static FILE_NAMES = config.MEMPOOL.CACHE_DIR + '/cache{number}.json';
|
||||
private static CHUNK_FILES = 25;
|
||||
private isWritingCache = false;
|
||||
|
||||
constructor() { }
|
||||
|
||||
@@ -18,8 +20,13 @@ class DiskCache {
|
||||
if (!cluster.isMaster) {
|
||||
return;
|
||||
}
|
||||
if (this.isWritingCache) {
|
||||
logger.debug('Saving cache already in progress. Skipping.')
|
||||
return;
|
||||
}
|
||||
try {
|
||||
logger.debug('Writing mempool and blocks data to disk cache (async)...');
|
||||
this.isWritingCache = true;
|
||||
|
||||
const mempool = memPool.getMempool();
|
||||
const mempoolArray: TransactionExtended[] = [];
|
||||
@@ -27,6 +34,8 @@ class DiskCache {
|
||||
mempoolArray.push(mempool[tx]);
|
||||
}
|
||||
|
||||
Common.shuffleArray(mempoolArray);
|
||||
|
||||
const chunkSize = Math.floor(mempoolArray.length / DiskCache.CHUNK_FILES);
|
||||
|
||||
await fsPromises.writeFile(DiskCache.FILE_NAME, JSON.stringify({
|
||||
@@ -41,8 +50,10 @@ class DiskCache {
|
||||
}), {flag: 'w'});
|
||||
}
|
||||
logger.debug('Mempool and blocks data saved to disk cache');
|
||||
this.isWritingCache = false;
|
||||
} catch (e) {
|
||||
logger.warn('Error writing to cache file: ' + e.message || e);
|
||||
this.isWritingCache = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,22 +76,26 @@ class DiskCache {
|
||||
|
||||
for (let i = 1; i < DiskCache.CHUNK_FILES; i++) {
|
||||
const fileName = DiskCache.FILE_NAMES.replace('{number}', i.toString());
|
||||
if (fs.existsSync(fileName)) {
|
||||
const cacheData2 = JSON.parse(fs.readFileSync(fileName, 'utf8'));
|
||||
if (cacheData2.mempoolArray) {
|
||||
for (const tx of cacheData2.mempoolArray) {
|
||||
data.mempool[tx.txid] = tx;
|
||||
try {
|
||||
if (fs.existsSync(fileName)) {
|
||||
const cacheData2 = JSON.parse(fs.readFileSync(fileName, 'utf8'));
|
||||
if (cacheData2.mempoolArray) {
|
||||
for (const tx of cacheData2.mempoolArray) {
|
||||
data.mempool[tx.txid] = tx;
|
||||
}
|
||||
} else {
|
||||
Object.assign(data.mempool, cacheData2.mempool);
|
||||
}
|
||||
} else {
|
||||
Object.assign(data.mempool, cacheData2.mempool);
|
||||
}
|
||||
} catch (e) {
|
||||
logger.debug('Error parsing ' + fileName + '. Skipping.');
|
||||
}
|
||||
}
|
||||
|
||||
memPool.setMempool(data.mempool);
|
||||
blocks.setBlocks(data.blocks);
|
||||
} catch (e) {
|
||||
logger.warn('Failed to parse mempoool and blocks cache. Skipping...');
|
||||
logger.warn('Failed to parse mempoool and blocks cache. Skipping.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import config from '../config';
|
||||
import { MempoolBlock } from '../mempool.interfaces';
|
||||
import mempool from './mempool';
|
||||
import projectedBlocks from './mempool-blocks';
|
||||
|
||||
class FeeApi {
|
||||
@@ -9,12 +10,15 @@ class FeeApi {
|
||||
|
||||
public getRecommendedFee() {
|
||||
const pBlocks = projectedBlocks.getMempoolBlocks();
|
||||
const mPool = mempool.getMempoolInfo();
|
||||
const minimumFee = Math.ceil(mPool.mempoolminfee * 100000);
|
||||
|
||||
if (!pBlocks.length) {
|
||||
return {
|
||||
'fastestFee': this.defaultFee,
|
||||
'halfHourFee': this.defaultFee,
|
||||
'hourFee': this.defaultFee,
|
||||
'minimumFee': minimumFee,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -26,6 +30,7 @@ class FeeApi {
|
||||
'fastestFee': firstMedianFee,
|
||||
'halfHourFee': secondMedianFee,
|
||||
'hourFee': thirdMedianFee,
|
||||
'minimumFee': minimumFee,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -34,7 +39,7 @@ class FeeApi {
|
||||
if (pBlock.blockVSize <= 500000) {
|
||||
return this.defaultFee;
|
||||
}
|
||||
if (pBlock.blockVSize <= 950000 && nextBlock) {
|
||||
if (pBlock.blockVSize <= 950000 && !nextBlock) {
|
||||
const multiplier = (pBlock.blockVSize - 500000) / 500000;
|
||||
return Math.max(Math.round(useFee * multiplier), this.defaultFee);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import logger from '../logger';
|
||||
import { MempoolBlock, TransactionExtended, MempoolBlockWithTransactions } from '../mempool.interfaces';
|
||||
import { Common } from './common';
|
||||
import config from '../config';
|
||||
|
||||
class MempoolBlocks {
|
||||
private static DEFAULT_PROJECTED_BLOCKS_AMOUNT = 8;
|
||||
@@ -32,9 +34,40 @@ class MempoolBlocks {
|
||||
memPoolArray.push(latestMempool[i]);
|
||||
}
|
||||
}
|
||||
const start = new Date().getTime();
|
||||
|
||||
// Clear bestDescendants & ancestors
|
||||
memPoolArray.forEach((tx) => {
|
||||
tx.bestDescendant = null;
|
||||
tx.ancestors = [];
|
||||
tx.cpfpChecked = false;
|
||||
if (!tx.effectiveFeePerVsize) {
|
||||
tx.effectiveFeePerVsize = tx.feePerVsize;
|
||||
}
|
||||
});
|
||||
|
||||
// First sort
|
||||
memPoolArray.sort((a, b) => b.feePerVsize - a.feePerVsize);
|
||||
const transactionsSorted = memPoolArray.filter((tx) => tx.feePerVsize);
|
||||
this.mempoolBlocks = this.calculateMempoolBlocks(transactionsSorted);
|
||||
|
||||
// Loop through and traverse all ancestors and sum up all the sizes + fees
|
||||
// Pass down size + fee to all unconfirmed children
|
||||
let sizes = 0;
|
||||
memPoolArray.forEach((tx, i) => {
|
||||
sizes += tx.weight;
|
||||
if (sizes > 4000000 * 8) {
|
||||
return;
|
||||
}
|
||||
Common.setRelativesAndGetCpfpInfo(tx, memPool);
|
||||
});
|
||||
|
||||
// Final sort, by effective fee
|
||||
memPoolArray.sort((a, b) => b.effectiveFeePerVsize - a.effectiveFeePerVsize);
|
||||
|
||||
const end = new Date().getTime();
|
||||
const time = end - start;
|
||||
logger.debug('Mempool blocks calculated in ' + time / 1000 + ' seconds');
|
||||
|
||||
this.mempoolBlocks = this.calculateMempoolBlocks(memPoolArray);
|
||||
}
|
||||
|
||||
private calculateMempoolBlocks(transactionsSorted: TransactionExtended[]): MempoolBlockWithTransactions[] {
|
||||
@@ -76,7 +109,7 @@ class MempoolBlocks {
|
||||
blockVSize: blockVSize,
|
||||
nTx: transactions.length,
|
||||
totalFees: transactions.reduce((acc, cur) => acc + cur.fee, 0),
|
||||
medianFee: Common.median(transactions.map((tx) => tx.feePerVsize)),
|
||||
medianFee: Common.percentile(transactions.map((tx) => tx.effectiveFeePerVsize), config.MEMPOOL.RECOMMENDED_FEE_PERCENTILE),
|
||||
feeRange: Common.getFeesInRange(transactions, rangeLength),
|
||||
transactionIds: transactions.map((tx) => tx.txid),
|
||||
};
|
||||
|
||||
@@ -10,10 +10,11 @@ import loadingIndicators from './loading-indicators';
|
||||
|
||||
class Mempool {
|
||||
private static WEBSOCKET_REFRESH_RATE_MS = 10000;
|
||||
private static LAZY_DELETE_AFTER_SECONDS = 30;
|
||||
private inSync: boolean = false;
|
||||
private mempoolCache: { [txId: string]: TransactionExtended } = {};
|
||||
private mempoolInfo: IBitcoinApi.MempoolInfo = { loaded: false, size: 0, bytes: 0, usage: 0,
|
||||
maxmempool: 0, mempoolminfee: 0, minrelaytxfee: 0 };
|
||||
maxmempool: 300000000, mempoolminfee: 0.00001000, minrelaytxfee: 0.00001000 };
|
||||
private mempoolChangedCallback: ((newMempool: {[txId: string]: TransactionExtended; }, newTransactions: TransactionExtended[],
|
||||
deletedTransactions: TransactionExtended[]) => void) | undefined;
|
||||
|
||||
@@ -27,6 +28,7 @@ class Mempool {
|
||||
|
||||
constructor() {
|
||||
setInterval(this.updateTxPerSecond.bind(this), 1000);
|
||||
setInterval(this.deleteExpiredTransactions.bind(this), 20000);
|
||||
}
|
||||
|
||||
public isInSync(): boolean {
|
||||
@@ -62,7 +64,7 @@ class Mempool {
|
||||
this.mempoolInfo = await bitcoinBaseApi.$getMempoolInfo();
|
||||
}
|
||||
|
||||
public getMempoolInfo(): IBitcoinApi.MempoolInfo | undefined {
|
||||
public getMempoolInfo(): IBitcoinApi.MempoolInfo {
|
||||
return this.mempoolInfo;
|
||||
}
|
||||
|
||||
@@ -145,7 +147,6 @@ class Mempool {
|
||||
}, 1000 * 60 * config.MEMPOOL.CLEAR_PROTECTION_MINUTES);
|
||||
}
|
||||
|
||||
let newMempool = {};
|
||||
const deletedTransactions: TransactionExtended[] = [];
|
||||
|
||||
if (this.mempoolProtection !== 1) {
|
||||
@@ -154,35 +155,31 @@ class Mempool {
|
||||
const transactionsObject = {};
|
||||
transactions.forEach((txId) => transactionsObject[txId] = true);
|
||||
|
||||
// Replace mempool to separate deleted transactions
|
||||
// Flag transactions for lazy deletion
|
||||
for (const tx in this.mempoolCache) {
|
||||
if (transactionsObject[tx]) {
|
||||
newMempool[tx] = this.mempoolCache[tx];
|
||||
} else {
|
||||
if (!transactionsObject[tx] && !this.mempoolCache[tx].deleteAfter) {
|
||||
deletedTransactions.push(this.mempoolCache[tx]);
|
||||
this.mempoolCache[tx].deleteAfter = new Date().getTime() + Mempool.LAZY_DELETE_AFTER_SECONDS * 1000;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
newMempool = this.mempoolCache;
|
||||
}
|
||||
|
||||
const newTransactionsStripped = newTransactions.map((tx) => Common.stripTransaction(tx));
|
||||
this.latestTransactions = newTransactionsStripped.concat(this.latestTransactions).slice(0, 6);
|
||||
|
||||
if (!this.inSync && transactions.length === Object.keys(newMempool).length) {
|
||||
if (!this.inSync && transactions.length === Object.keys(this.mempoolCache).length) {
|
||||
this.inSync = true;
|
||||
logger.info('The mempool is now in sync!');
|
||||
logger.notice('The mempool is now in sync!');
|
||||
loadingIndicators.setProgress('mempool', 100);
|
||||
}
|
||||
|
||||
if (this.mempoolChangedCallback && (hasChange || deletedTransactions.length)) {
|
||||
this.mempoolCache = newMempool;
|
||||
this.mempoolChangedCallback(this.mempoolCache, newTransactions, deletedTransactions);
|
||||
}
|
||||
|
||||
const end = new Date().getTime();
|
||||
const time = end - start;
|
||||
logger.debug(`New mempool size: ${Object.keys(newMempool).length} Change: ${diff}`);
|
||||
logger.debug(`New mempool size: ${Object.keys(this.mempoolCache).length} Change: ${diff}`);
|
||||
logger.debug('Mempool updated in ' + time / 1000 + ' seconds');
|
||||
}
|
||||
|
||||
@@ -198,6 +195,16 @@ class Mempool {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private deleteExpiredTransactions() {
|
||||
const now = new Date().getTime();
|
||||
for (const tx in this.mempoolCache) {
|
||||
const lazyDeleteAt = this.mempoolCache[tx].deleteAfter;
|
||||
if (lazyDeleteAt && lazyDeleteAt < now) {
|
||||
delete this.mempoolCache[tx];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new Mempool();
|
||||
|
||||
@@ -68,13 +68,13 @@ class Statistics {
|
||||
}
|
||||
}
|
||||
// Remove 0 and undefined
|
||||
memPoolArray = memPoolArray.filter((tx) => tx.feePerVsize);
|
||||
memPoolArray = memPoolArray.filter((tx) => tx.effectiveFeePerVsize);
|
||||
|
||||
if (!memPoolArray.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
memPoolArray.sort((a, b) => a.feePerVsize - b.feePerVsize);
|
||||
memPoolArray.sort((a, b) => a.effectiveFeePerVsize - b.effectiveFeePerVsize);
|
||||
const totalWeight = memPoolArray.map((tx) => tx.vsize).reduce((acc, curr) => acc + curr) * 4;
|
||||
const totalFee = memPoolArray.map((tx) => tx.fee).reduce((acc, curr) => acc + curr);
|
||||
|
||||
@@ -85,7 +85,7 @@ class Statistics {
|
||||
|
||||
memPoolArray.forEach((transaction) => {
|
||||
for (let i = 0; i < logFees.length; i++) {
|
||||
if ((logFees[i] === 2000 && transaction.feePerVsize >= 2000) || transaction.feePerVsize <= logFees[i]) {
|
||||
if ((logFees[i] === 2000 && transaction.effectiveFeePerVsize >= 2000) || transaction.effectiveFeePerVsize <= logFees[i]) {
|
||||
if (weightVsizeFees[logFees[i]]) {
|
||||
weightVsizeFees[logFees[i]] += transaction.vsize;
|
||||
} else {
|
||||
|
||||
@@ -26,9 +26,16 @@ class TransactionUtils {
|
||||
}
|
||||
|
||||
private extendTransaction(transaction: IEsploraApi.Transaction): TransactionExtended {
|
||||
// @ts-ignore
|
||||
if (transaction.vsize) {
|
||||
// @ts-ignore
|
||||
return transaction;
|
||||
}
|
||||
const feePerVbytes = Math.max(1, (transaction.fee || 0) / (transaction.weight / 4));
|
||||
const transactionExtended: TransactionExtended = Object.assign({
|
||||
vsize: Math.round(transaction.weight / 4),
|
||||
feePerVsize: Math.max(1, (transaction.fee || 0) / (transaction.weight / 4)),
|
||||
feePerVsize: feePerVbytes,
|
||||
effectiveFeePerVsize: feePerVbytes,
|
||||
}, transaction);
|
||||
if (!transaction.status.confirmed) {
|
||||
transactionExtended.firstSeen = Math.round((new Date().getTime() / 1000));
|
||||
|
||||
@@ -159,8 +159,7 @@ class WebsocketHandler {
|
||||
'conversions': fiatConversion.getConversionRates(),
|
||||
'mempool-blocks': mempoolBlocks.getMempoolBlocks(),
|
||||
'transactions': memPool.getLatestTransactions(),
|
||||
'git-commit': backendInfo.gitCommitHash,
|
||||
'hostname': backendInfo.hostname,
|
||||
'backendInfo': backendInfo.getBackendInfo(),
|
||||
'loadingIndicators': loadingIndicators.getLoadingIndicators(),
|
||||
...this.extraInitProperties
|
||||
};
|
||||
@@ -194,10 +193,15 @@ class WebsocketHandler {
|
||||
|
||||
mempoolBlocks.updateMempoolBlocks(newMempool);
|
||||
const mBlocks = mempoolBlocks.getMempoolBlocks();
|
||||
const mempool = memPool.getMempool();
|
||||
const mempoolInfo = memPool.getMempoolInfo();
|
||||
const vBytesPerSecond = memPool.getVBytesPerSecond();
|
||||
const rbfTransactions = Common.findRbfTransactions(newTransactions, deletedTransactions);
|
||||
|
||||
for (const rbfTransaction in rbfTransactions) {
|
||||
delete mempool[rbfTransaction];
|
||||
}
|
||||
|
||||
this.wss.clients.forEach(async (client: WebSocket) => {
|
||||
if (client.readyState !== WebSocket.OPEN) {
|
||||
return;
|
||||
@@ -329,28 +333,23 @@ class WebsocketHandler {
|
||||
throw new Error('WebSocket.Server is not set');
|
||||
}
|
||||
|
||||
// Check how many transactions in the new block matches the latest projected mempool block
|
||||
// If it's more than 0, recalculate the mempool blocks and send to client in the same update
|
||||
let mBlocks: undefined | MempoolBlock[];
|
||||
let matchRate = 0;
|
||||
const _memPool = memPool.getMempool();
|
||||
const _mempoolBlocks = mempoolBlocks.getMempoolBlocksWithTransactions();
|
||||
|
||||
if (_mempoolBlocks[0]) {
|
||||
const matches: string[] = [];
|
||||
for (const txId of txIds) {
|
||||
if (_mempoolBlocks[0].transactionIds.indexOf(txId) > -1) {
|
||||
matches.push(txId);
|
||||
}
|
||||
delete _memPool[txId];
|
||||
}
|
||||
|
||||
matchRate = Math.round((matches.length / (txIds.length - 1)) * 100);
|
||||
if (matchRate > 0) {
|
||||
const currentMemPool = memPool.getMempool();
|
||||
for (const txId of matches) {
|
||||
delete currentMemPool[txId];
|
||||
}
|
||||
mempoolBlocks.updateMempoolBlocks(currentMemPool);
|
||||
mBlocks = mempoolBlocks.getMempoolBlocks();
|
||||
}
|
||||
mempoolBlocks.updateMempoolBlocks(_memPool);
|
||||
mBlocks = mempoolBlocks.getMempoolBlocks();
|
||||
}
|
||||
|
||||
block.matchRate = matchRate;
|
||||
|
||||
@@ -2,7 +2,7 @@ const configFile = require('../mempool-config.json');
|
||||
|
||||
interface IConfig {
|
||||
MEMPOOL: {
|
||||
NETWORK: 'mainnet' | 'testnet' | 'liquid';
|
||||
NETWORK: 'mainnet' | 'testnet' | 'signet' | 'liquid';
|
||||
BACKEND: 'esplora' | 'electrum' | 'none';
|
||||
HTTP_PORT: number;
|
||||
SPAWN_CLUSTER_PROCS: number;
|
||||
@@ -10,6 +10,7 @@ interface IConfig {
|
||||
POLL_RATE_MS: number;
|
||||
CACHE_DIR: string;
|
||||
CLEAR_PROTECTION_MINUTES: number;
|
||||
RECOMMENDED_FEE_PERCENTILE: number;
|
||||
};
|
||||
ESPLORA: {
|
||||
REST_API_URL: string;
|
||||
@@ -40,6 +41,13 @@ interface IConfig {
|
||||
USERNAME: string;
|
||||
PASSWORD: string;
|
||||
};
|
||||
SYSLOG: {
|
||||
ENABLED: boolean;
|
||||
HOST: string;
|
||||
PORT: number;
|
||||
MIN_PRIORITY: 'emerg' | 'alert' | 'crit' | 'err' |'warn' | 'notice' | 'info' | 'debug';
|
||||
FACILITY: string;
|
||||
};
|
||||
STATISTICS: {
|
||||
ENABLED: boolean;
|
||||
TX_PER_SECOND_SAMPLE_PERIOD: number;
|
||||
@@ -64,6 +72,7 @@ const defaults: IConfig = {
|
||||
'POLL_RATE_MS': 2000,
|
||||
'CACHE_DIR': './cache',
|
||||
'CLEAR_PROTECTION_MINUTES': 20,
|
||||
'RECOMMENDED_FEE_PERCENTILE': 50,
|
||||
},
|
||||
'ESPLORA': {
|
||||
'REST_API_URL': 'http://127.0.0.1:3000',
|
||||
@@ -94,6 +103,13 @@ const defaults: IConfig = {
|
||||
'USERNAME': 'mempool',
|
||||
'PASSWORD': 'mempool'
|
||||
},
|
||||
'SYSLOG': {
|
||||
'ENABLED': true,
|
||||
'HOST': '127.0.0.1',
|
||||
'PORT': 514,
|
||||
'MIN_PRIORITY': 'info',
|
||||
'FACILITY': 'local7'
|
||||
},
|
||||
'STATISTICS': {
|
||||
'ENABLED': true,
|
||||
'TX_PER_SECOND_SAMPLE_PERIOD': 150
|
||||
@@ -115,6 +131,7 @@ class Config implements IConfig {
|
||||
CORE_RPC: IConfig['CORE_RPC'];
|
||||
CORE_RPC_MINFEE: IConfig['CORE_RPC_MINFEE'];
|
||||
DATABASE: IConfig['DATABASE'];
|
||||
SYSLOG: IConfig['SYSLOG'];
|
||||
STATISTICS: IConfig['STATISTICS'];
|
||||
BISQ_BLOCKS: IConfig['BISQ_BLOCKS'];
|
||||
BISQ_MARKETS: IConfig['BISQ_MARKETS'];
|
||||
@@ -127,6 +144,7 @@ class Config implements IConfig {
|
||||
this.CORE_RPC = configs.CORE_RPC;
|
||||
this.CORE_RPC_MINFEE = configs.CORE_RPC_MINFEE;
|
||||
this.DATABASE = configs.DATABASE;
|
||||
this.SYSLOG = configs.SYSLOG;
|
||||
this.STATISTICS = configs.STATISTICS;
|
||||
this.BISQ_BLOCKS = configs.BISQ_BLOCKS;
|
||||
this.BISQ_MARKETS = configs.BISQ_MARKETS;
|
||||
|
||||
@@ -73,6 +73,8 @@ class Server {
|
||||
this.server = http.createServer(this.app);
|
||||
this.wss = new WebSocket.Server({ server: this.server });
|
||||
|
||||
this.setUpWebsocketHandling();
|
||||
|
||||
diskCache.loadMempoolCache();
|
||||
|
||||
if (config.DATABASE.ENABLED) {
|
||||
@@ -86,7 +88,6 @@ class Server {
|
||||
fiatConversion.startService();
|
||||
|
||||
this.setUpHttpApiRoutes();
|
||||
this.setUpWebsocketHandling();
|
||||
this.runMainUpdateLoop();
|
||||
|
||||
if (config.BISQ_BLOCKS.ENABLED) {
|
||||
@@ -110,7 +111,16 @@ class Server {
|
||||
|
||||
async runMainUpdateLoop() {
|
||||
try {
|
||||
await memPool.$updateMemPoolInfo();
|
||||
try {
|
||||
await memPool.$updateMemPoolInfo();
|
||||
} catch (e) {
|
||||
const msg = `updateMempoolInfo: ${(e.message || e)}`;
|
||||
if (config.CORE_RPC_MINFEE.ENABLED) {
|
||||
logger.warn(msg);
|
||||
} else {
|
||||
logger.debug(msg);
|
||||
}
|
||||
}
|
||||
await blocks.$updateBlocks();
|
||||
await memPool.$updateMempool();
|
||||
setTimeout(this.runMainUpdateLoop.bind(this), config.MEMPOOL.POLL_RATE_MS);
|
||||
@@ -145,6 +155,7 @@ class Server {
|
||||
setUpHttpApiRoutes() {
|
||||
this.app
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'transaction-times', routes.getTransactionTimes)
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'cpfp/:txId', routes.getCpfpInfo)
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'fees/recommended', routes.getRecommendedFees)
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'fees/mempool-blocks', routes.getMempoolBlocks)
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'backend-info', routes.getBackendInfo)
|
||||
@@ -167,6 +178,24 @@ class Server {
|
||||
res.status(500).end();
|
||||
}
|
||||
})
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'contributors', async (req, res) => {
|
||||
try {
|
||||
const response = await axios.get('https://mempool.space/api/v1/contributors', { responseType: 'stream', timeout: 10000 });
|
||||
response.data.pipe(res);
|
||||
} catch (e) {
|
||||
res.status(500).end();
|
||||
}
|
||||
})
|
||||
.get(config.MEMPOOL.API_URL_PREFIX + 'contributors/images/:id', async (req, res) => {
|
||||
try {
|
||||
const response = await axios.get('https://mempool.space/api/v1/contributors/images/' + req.params.id, {
|
||||
responseType: 'stream', timeout: 10000
|
||||
});
|
||||
response.data.pipe(res);
|
||||
} catch (e) {
|
||||
res.status(500).end();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
if (config.STATISTICS.ENABLED && config.DATABASE.ENABLED) {
|
||||
|
||||
@@ -50,17 +50,11 @@ class Logger {
|
||||
public debug: ((msg: string) => void);
|
||||
|
||||
private name = 'mempool';
|
||||
private fac: any;
|
||||
private loghost: string;
|
||||
private logport: number;
|
||||
private client: dgram.Socket;
|
||||
private network: string;
|
||||
|
||||
constructor(fac) {
|
||||
constructor() {
|
||||
let prio;
|
||||
this.fac = fac != null ? fac : Logger.facilities.local0;
|
||||
this.loghost = '127.0.0.1';
|
||||
this.logport = 514;
|
||||
for (prio in Logger.priorities) {
|
||||
if (true) {
|
||||
this.addprio(prio);
|
||||
@@ -97,10 +91,12 @@ class Logger {
|
||||
}
|
||||
const network = this.network ? ' <' + this.network + '>' : '';
|
||||
prionum = Logger.priorities[priority] || Logger.priorities.info;
|
||||
syslogmsg = `<${(this.fac * 8 + prionum)}> ${this.name}[${process.pid}]: ${priority.toUpperCase()}${network} ${msg}`;
|
||||
consolemsg = `${this.ts()} [${process.pid}] ${priority.toUpperCase()}:${network} ${msg}`;
|
||||
|
||||
this.syslog(syslogmsg);
|
||||
if (config.SYSLOG.ENABLED && Logger.priorities[priority] <= Logger.priorities[config.SYSLOG.MIN_PRIORITY]) {
|
||||
syslogmsg = `<${(Logger.facilities[config.SYSLOG.FACILITY] * 8 + prionum)}> ${this.name}[${process.pid}]: ${priority.toUpperCase()}${network} ${msg}`;
|
||||
this.syslog(syslogmsg);
|
||||
}
|
||||
if (priority === 'warning') {
|
||||
priority = 'warn';
|
||||
}
|
||||
@@ -116,7 +112,7 @@ class Logger {
|
||||
private syslog(msg) {
|
||||
let msgbuf;
|
||||
msgbuf = Buffer.from(msg);
|
||||
this.client.send(msgbuf, 0, msgbuf.length, this.logport, this.loghost, function(err, bytes) {
|
||||
this.client.send(msgbuf, 0, msgbuf.length, config.SYSLOG.PORT, config.SYSLOG.HOST, function(err, bytes) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
}
|
||||
@@ -146,4 +142,4 @@ class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
export default new Logger(Logger.facilities.local7);
|
||||
export default new Logger();
|
||||
|
||||
@@ -26,6 +26,28 @@ export interface TransactionExtended extends IEsploraApi.Transaction {
|
||||
vsize: number;
|
||||
feePerVsize: number;
|
||||
firstSeen?: number;
|
||||
effectiveFeePerVsize: number;
|
||||
ancestors?: Ancestor[];
|
||||
bestDescendant?: BestDescendant | null;
|
||||
cpfpChecked?: boolean;
|
||||
deleteAfter?: number;
|
||||
}
|
||||
|
||||
interface Ancestor {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
interface BestDescendant {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
export interface CpfpInfo {
|
||||
ancestors: Ancestor[];
|
||||
bestDescendant: BestDescendant | null;
|
||||
}
|
||||
|
||||
export interface TransactionStripped {
|
||||
@@ -138,3 +160,9 @@ interface RequiredParams {
|
||||
|
||||
export interface ILoadingIndicators { [name: string]: number; }
|
||||
export interface IConversionRates { [currency: string]: number; }
|
||||
|
||||
export interface IBackendInfo {
|
||||
hostname: string;
|
||||
gitCommit: string;
|
||||
version: string;
|
||||
}
|
||||
|
||||
@@ -94,6 +94,31 @@ class Routes {
|
||||
res.json(times);
|
||||
}
|
||||
|
||||
public getCpfpInfo(req: Request, res: Response) {
|
||||
if (!/^[a-fA-F0-9]{64}$/.test(req.params.txId)) {
|
||||
res.status(501).send(`Invalid transaction ID.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const tx = mempool.getMempool()[req.params.txId];
|
||||
if (!tx) {
|
||||
res.status(404).send(`Transaction doesn't exist in the mempool.`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tx.cpfpChecked) {
|
||||
res.json({
|
||||
ancestors: tx.ancestors,
|
||||
bestDescendant: tx.bestDescendant || null,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const cpfpInfo = Common.setRelativesAndGetCpfpInfo(tx, mempool.getMempool());
|
||||
|
||||
res.json(cpfpInfo);
|
||||
}
|
||||
|
||||
public getBackendInfo(req: Request, res: Response) {
|
||||
res.json(backendInfo.getBackendInfo());
|
||||
}
|
||||
|
||||
@@ -58,15 +58,17 @@ services:
|
||||
RPC_PORT: "8332"
|
||||
RPC_USER: "mempool"
|
||||
RPC_PASS: "mempool"
|
||||
ELECTRS_HOST: "127.0.0.1"
|
||||
ELECTRS_PORT: "50002"
|
||||
ELECTRUM_HOST: "127.0.0.1"
|
||||
ELECTRUM_PORT: "50002"
|
||||
ELECTRUM_TLS: "false"
|
||||
MYSQL_HOST: "db"
|
||||
MYSQL_PORT: "3306"
|
||||
MYSQL_DATABASE: "mempool"
|
||||
MYSQL_USER: "mempool"
|
||||
MYSQL_PASS: "mempool"
|
||||
BACKEND_MAINNET_HTTP_PORT: "8999"
|
||||
CACHE_DIR: "/backend/cache/"
|
||||
CACHE_DIR: "/backend/cache"
|
||||
MEMPOOL_CLEAR_PROTECTION_MINUTES: "20"
|
||||
db:
|
||||
image: mariadb:10.5.8
|
||||
user: "1000:1000"
|
||||
@@ -83,7 +85,7 @@ services:
|
||||
|
||||
```
|
||||
|
||||
You can update all the environment variables inside the API container, especially the RPC and ELECTRS ones
|
||||
You can update all the environment variables inside the API container, especially the RPC and ELECTRUM ones
|
||||
|
||||
## Run it
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
"SPAWN_CLUSTER_PROCS": 0,
|
||||
"API_URL_PREFIX": "/api/v1/",
|
||||
"POLL_RATE_MS": 2000,
|
||||
"CACHE_DIR": "__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__"
|
||||
"CACHE_DIR": "__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__",
|
||||
"CLEAR_PROTECTION_MINUTES": __MEMPOOL_BACKEND_CLEAR_PROTECTION_MINUTES__
|
||||
},
|
||||
"CORE_RPC": {
|
||||
"HOST": "__BITCOIN_MAINNET_RPC_HOST__",
|
||||
@@ -15,10 +16,9 @@
|
||||
"PASSWORD": "__BITCOIN_MAINNET_RPC_PASS__"
|
||||
},
|
||||
"ELECTRUM": {
|
||||
"HOST": "__ELECTRS_MAINNET_HTTP_HOST__",
|
||||
"PORT": __ELECTRS_MAINNET_HTTP_PORT__,
|
||||
"TLS_ENABLED": false,
|
||||
"TX_LOOKUPS": true
|
||||
"HOST": "__ELECTRUM_MAINNET_HTTP_HOST__",
|
||||
"PORT": __ELECTRUM_MAINNET_HTTP_PORT__,
|
||||
"TLS_ENABLED": __ELECTRUM_MAINNET_TLS_ENABLED__
|
||||
},
|
||||
"ESPLORA": {
|
||||
"REST_API_URL": "http://127.0.0.1:3000"
|
||||
|
||||
@@ -2,15 +2,17 @@
|
||||
|
||||
#MEMPOOL
|
||||
__MEMPOOL_BACKEND_MAINNET_HTTP_PORT__=${BACKEND_MAINNET_HTTP_PORT:=8999}
|
||||
__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__=${CACHE_DIR:=./}
|
||||
__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__=${CACHE_DIR:=./cache}
|
||||
__MEMPOOL_BACKEND_CLEAR_PROTECTION_MINUTES__=${MEMPOOL_CLEAR_PROTECTION_MINUTES:=20}
|
||||
# BITCOIN
|
||||
__BITCOIN_MAINNET_RPC_HOST__=${RPC_HOST:=127.0.0.1}
|
||||
__BITCOIN_MAINNET_RPC_PORT__=${RPC_PORT:=8332}
|
||||
__BITCOIN_MAINNET_RPC_USER__=${RPC_USER:=mempool}
|
||||
__BITCOIN_MAINNET_RPC_PASS__=${RPC_PASS:=mempool}
|
||||
# ELECTRUM
|
||||
__ELECTRS_MAINNET_HTTP_HOST__=${ELECTRS_HOST:=127.0.0.1}
|
||||
__ELECTRS_MAINNET_HTTP_PORT__=${ELECTRS_PORT:=50002}
|
||||
__ELECTRUM_MAINNET_HTTP_HOST__=${ELECTRUM_HOST:=127.0.0.1}
|
||||
__ELECTRUM_MAINNET_HTTP_PORT__=${ELECTRUM_PORT:=50002} # 50001?
|
||||
__ELECTRUM_MAINNET_TLS_ENABLED__=${ELECTRUM_TLS:=false}
|
||||
# MYSQL
|
||||
__MYSQL_HOST__=${MYSQL_HOST:=127.0.0.1}
|
||||
__MYSQL_PORT__=${MYSQL_PORT:=3306}
|
||||
@@ -24,8 +26,9 @@ sed -i "s/__BITCOIN_MAINNET_RPC_HOST__/${__BITCOIN_MAINNET_RPC_HOST__}/g" mempoo
|
||||
sed -i "s/__BITCOIN_MAINNET_RPC_PORT__/${__BITCOIN_MAINNET_RPC_PORT__}/g" mempool-config.json
|
||||
sed -i "s/__BITCOIN_MAINNET_RPC_USER__/${__BITCOIN_MAINNET_RPC_USER__}/g" mempool-config.json
|
||||
sed -i "s/__BITCOIN_MAINNET_RPC_PASS__/${__BITCOIN_MAINNET_RPC_PASS__}/g" mempool-config.json
|
||||
sed -i "s/__ELECTRS_MAINNET_HTTP_HOST__/${__ELECTRS_MAINNET_HTTP_HOST__}/g" mempool-config.json
|
||||
sed -i "s/__ELECTRS_MAINNET_HTTP_PORT__/${__ELECTRS_MAINNET_HTTP_PORT__}/g" mempool-config.json
|
||||
sed -i "s/__ELECTRUM_MAINNET_HTTP_HOST__/${__ELECTRUM_MAINNET_HTTP_HOST__}/g" mempool-config.json
|
||||
sed -i "s/__ELECTRUM_MAINNET_HTTP_PORT__/${__ELECTRUM_MAINNET_HTTP_PORT__}/g" mempool-config.json
|
||||
sed -i "s/__ELECTRUM_MAINNET_TLS_ENABLED__/${__ELECTRUM_MAINNET_TLS_ENABLED__}/g" mempool-config.json
|
||||
sed -i "s/__MYSQL_HOST__/${__MYSQL_HOST__}/g" mempool-config.json
|
||||
sed -i "s/__MYSQL_PORT__/${__MYSQL_PORT__}/g" mempool-config.json
|
||||
sed -i "s/__MYSQL_DATABASE__/${__MYSQL_DATABASE__}/g" mempool-config.json
|
||||
@@ -33,5 +36,6 @@ sed -i "s/__MYSQL_USERNAME__/${__MYSQL_USERNAME__}/g" mempool-config.json
|
||||
sed -i "s/__MYSQL_PASSWORD__/${__MYSQL_PASSWORD__}/g" mempool-config.json
|
||||
sed -i "s!__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__!${__MEMPOOL_BACKEND_MAINNET_CACHE_DIR__}!g" mempool-config.json
|
||||
sed -i "s/__MEMPOOL_BACKEND_MAINNET_HTTP_PORT__/${__MEMPOOL_BACKEND_MAINNET_HTTP_PORT__}/g" mempool-config.json
|
||||
sed -i "s/__MEMPOOL_BACKEND_CLEAR_PROTECTION_MINUTES__/${__MEMPOOL_BACKEND_CLEAR_PROTECTION_MINUTES__}/g" mempool-config.json
|
||||
|
||||
node /backend/dist/index.js
|
||||
|
||||
67
docker/docker-compose.yml
Normal file
67
docker/docker-compose.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
|
||||
electrum:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/electrum/Dockerfile
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
command: ""
|
||||
ports:
|
||||
- 50001:50001
|
||||
- 50002:50002
|
||||
- 4224:4224
|
||||
- 8332:8332
|
||||
environment:
|
||||
ELECTRUM: "electrum"
|
||||
# add electrs configs
|
||||
web:
|
||||
image: mempool/frontend:latest
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
command: "./wait-for db:3306 --timeout=720 -- nginx -g 'daemon off;'"
|
||||
ports:
|
||||
- 80:8080
|
||||
environment:
|
||||
FRONTEND_HTTP_PORT: "8080"
|
||||
BACKEND_MAINNET_HTTP_HOST: "api"
|
||||
api:
|
||||
image: mempool/backend:latest
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
command: "./wait-for-it.sh db:3306 --timeout=720 --strict -- ./start.sh"
|
||||
volumes:
|
||||
- ./data:/backend/cache
|
||||
environment:
|
||||
RPC_HOST: "127.0.0.1"
|
||||
RPC_PORT: "8332"
|
||||
RPC_USER: "mempool"
|
||||
RPC_PASS: "mempool"
|
||||
ELECTRUM_HOST: "127.0.0.1"
|
||||
ELECTRUM_PORT: "50002"
|
||||
ELECTRUM_TLS: "false"
|
||||
MYSQL_HOST: "db"
|
||||
MYSQL_PORT: "3306"
|
||||
MYSQL_DATABASE: "mempool"
|
||||
MYSQL_USER: "mempool"
|
||||
MYSQL_PASS: "mempool"
|
||||
BACKEND_MAINNET_HTTP_PORT: "8999"
|
||||
CACHE_DIR: "/backend/cache"
|
||||
MEMPOOL_CLEAR_PROTECTION_MINUTES: "20"
|
||||
db:
|
||||
image: mariadb:10.5.8
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ./mysql/data:/var/lib/mysql
|
||||
- ./mysql/db-scripts:/docker-entrypoint-initdb.d
|
||||
environment:
|
||||
MYSQL_DATABASE: "mempool"
|
||||
MYSQL_USER: "mempool"
|
||||
MYSQL_PASSWORD: "mempool"
|
||||
MYSQL_ROOT_PASSWORD: "admin"
|
||||
32
docker/electrum/Dockerfile
Normal file
32
docker/electrum/Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER mempool.space developers
|
||||
EXPOSE 50002
|
||||
|
||||
# runs as UID 1000 GID 1000 inside the container
|
||||
|
||||
ENV VERSION 4.0.9
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gpg gpg-agent dirmngr \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget xpra python3-pyqt5 python3-wheel python3-pip python3-setuptools libsecp256k1-0 libsecp256k1-dev python3-numpy python3-dev build-essential \
|
||||
&& wget -O /tmp/Electrum-${VERSION}.tar.gz https://download.electrum.org/${VERSION}/Electrum-${VERSION}.tar.gz \
|
||||
&& wget -O /tmp/Electrum-${VERSION}.tar.gz.asc https://download.electrum.org/${VERSION}/Electrum-${VERSION}.tar.gz.asc \
|
||||
&& gpg --keyserver keys.gnupg.net --recv-keys 6694D8DE7BE8EE5631BED9502BD5824B7F9470E6 \
|
||||
&& gpg --verify /tmp/Electrum-${VERSION}.tar.gz.asc /tmp/Electrum-${VERSION}.tar.gz \
|
||||
&& pip3 install /tmp/Electrum-${VERSION}.tar.gz \
|
||||
&& test -f /usr/local/bin/electrum \
|
||||
&& rm -vrf /tmp/Electrum-${VERSION}.tar.gz /tmp/Electrum-${VERSION}.tar.gz.asc ${HOME}/.gnupg \
|
||||
&& apt-get purge --autoremove -y python3-wheel python3-pip python3-setuptools python3-dev build-essential libsecp256k1-dev curl gpg gpg-agent dirmngr \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* \
|
||||
&& useradd -d /home/mempool -m mempool \
|
||||
&& mkdir /electrum \
|
||||
&& ln -s /electrum /home/mempool/.electrum \
|
||||
&& chown mempool:mempool /electrum
|
||||
|
||||
USER mempool
|
||||
ENV HOME /home/mempool
|
||||
WORKDIR /home/mempool
|
||||
VOLUME /electrum
|
||||
|
||||
CMD ["/usr/bin/xpra", "start", ":100", "--start-child=/usr/local/bin/electrum", "--bind-tcp=0.0.0.0:50002","--daemon=yes", "--notifications=no", "--mdns=no", "--pulseaudio=no", "--html=off", "--speaker=disabled", "--microphone=disabled", "--webcam=no", "--printing=no", "--dbus-launch=", "--exit-with-children"]
|
||||
ENTRYPOINT ["electrum"]
|
||||
@@ -16,6 +16,7 @@ https://www.transifex.com/mempool/mempool/dashboard/
|
||||
* French @Bayernatoor
|
||||
* Korean @kcalvinalvinn
|
||||
* Italian @HodlBits
|
||||
* Hebrew @Sh0ham
|
||||
* Georgian @wyd_idk
|
||||
* Hungarian @btcdragonlord
|
||||
* Dutch @m__btc
|
||||
|
||||
@@ -59,6 +59,10 @@
|
||||
"translation": "src/locale/messages.it.xlf",
|
||||
"baseHref": "/it/"
|
||||
},
|
||||
"he": {
|
||||
"translation": "src/locale/messages.he.xlf",
|
||||
"baseHref": "/he/"
|
||||
},
|
||||
"nl": {
|
||||
"translation": "src/locale/messages.nl.xlf",
|
||||
"baseHref": "/nl/"
|
||||
@@ -139,7 +143,6 @@
|
||||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"extractCss": true,
|
||||
"namedChunks": false,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
|
||||
@@ -5,6 +5,8 @@ const GENERATED_CONFIG_FILE_NAME = 'generated-config.js';
|
||||
|
||||
let settings = [];
|
||||
let configContent = {};
|
||||
let gitCommitHash = '';
|
||||
let packetJsonVersion = '';
|
||||
|
||||
try {
|
||||
const rawConfig = fs.readFileSync(CONFIG_FILE_NAME);
|
||||
@@ -15,6 +17,13 @@ try {
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
const packageJson = fs.readFileSync('package.json');
|
||||
packetJsonVersion = JSON.parse(packageJson).version;
|
||||
} catch (e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
|
||||
for (setting in configContent) {
|
||||
settings.push({
|
||||
key: setting,
|
||||
@@ -22,9 +31,17 @@ for (setting in configContent) {
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
gitCommitHash = fs.readFileSync('../.git/refs/heads/master').toString().trim();
|
||||
} catch (e) {
|
||||
console.log('Could not load git commit info: ' + e.message || e);
|
||||
}
|
||||
|
||||
const code = `(function (window) {
|
||||
window.__env = window.__env || {};${settings.reduce((str, obj) => `${str}
|
||||
window.__env.${obj.key} = ${ typeof obj.value === 'string' ? `'${obj.value}'` : obj.value };`, '')}
|
||||
window.__env.GIT_COMMIT_HASH = '${gitCommitHash}';
|
||||
window.__env.PACKAGE_JSON_VERSION = '${packetJsonVersion}';
|
||||
}(global || this));`;
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"TESTNET_ENABLED": false,
|
||||
"SIGNET_ENABLED": false,
|
||||
"LIQUID_ENABLED": false,
|
||||
"BISQ_ENABLED": false,
|
||||
"BISQ_SEPARATE_BACKEND": false,
|
||||
|
||||
15238
frontend/package-lock.json
generated
15238
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "mempool-frontend",
|
||||
"version": "2.0.0",
|
||||
"version": "2.2.0-dev",
|
||||
"description": "Bitcoin mempool visualizer and blockchain explorer backend",
|
||||
"license": "MIT",
|
||||
"license": "GNU Affero General Public License v3.0",
|
||||
"homepage": "https://mempool.space",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -26,10 +26,11 @@
|
||||
"i18n-pull-from-transifex": "tx pull -a --parallel --minimum-perc 1 --force",
|
||||
"serve": "ng serve --proxy-config proxy.conf.json",
|
||||
"start": "npm run generate-config && npm run sync-assets-dev && ng serve --proxy-config proxy.conf.json",
|
||||
"build": "npm run generate-config && ng build --prod --localize && npm run sync-assets",
|
||||
"build": "npm run generate-config && ng build --prod --localize && npm run sync-assets && npm run build-mempool.js",
|
||||
"sync-assets": "node sync-assets.js && rsync -av ./dist/mempool/browser/en-US/resources ./dist/mempool/browser/resources",
|
||||
"sync-assets-dev": "node sync-assets.js dev",
|
||||
"generate-config": "node generate-config.js",
|
||||
"build-mempool.js": "tsc | browserify -p tinyify ./node_modules/@mempool/mempool.js/lib/index.js --standalone mempoolJS > ./dist/mempool/browser/en-US/mempool.js",
|
||||
"test": "ng test",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e",
|
||||
@@ -39,58 +40,61 @@
|
||||
"prerender": "ng run mempool:prerender"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "~10.2.3",
|
||||
"@angular/common": "~10.2.3",
|
||||
"@angular/compiler": "~10.2.3",
|
||||
"@angular/core": "~10.2.3",
|
||||
"@angular/forms": "~10.2.3",
|
||||
"@angular/localize": "^10.2.3",
|
||||
"@angular/platform-browser": "~10.2.3",
|
||||
"@angular/platform-browser-dynamic": "~10.2.3",
|
||||
"@angular/platform-server": "~10.2.2",
|
||||
"@angular/router": "~10.2.3",
|
||||
"@fortawesome/angular-fontawesome": "^0.7.0",
|
||||
"@fortawesome/fontawesome-common-types": "^0.2.30",
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.30",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.14.0",
|
||||
"@angular/animations": "~11.2.8",
|
||||
"@angular/common": "~11.2.8",
|
||||
"@angular/compiler": "~11.2.8",
|
||||
"@angular/core": "~11.2.8",
|
||||
"@angular/forms": "~11.2.8",
|
||||
"@angular/localize": "^11.2.8",
|
||||
"@angular/platform-browser": "~11.2.8",
|
||||
"@angular/platform-browser-dynamic": "~11.2.8",
|
||||
"@angular/platform-server": "~11.2.8",
|
||||
"@angular/router": "~11.2.8",
|
||||
"@fortawesome/angular-fontawesome": "^0.8.2",
|
||||
"@fortawesome/fontawesome-common-types": "^0.2.35",
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.35",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.15.3",
|
||||
"@mempool/chartist": "^0.11.4",
|
||||
"@mempool/mempool.js": "^2.2.0",
|
||||
"@ng-bootstrap/ng-bootstrap": "^7.0.0",
|
||||
"@nguniversal/express-engine": "10.1.0",
|
||||
"@nguniversal/express-engine": "11.2.1",
|
||||
"@types/qrcode": "^1.3.4",
|
||||
"bootstrap": "4.5.0",
|
||||
"browserify": "^17.0.0",
|
||||
"clipboard": "^2.0.4",
|
||||
"domino": "^2.1.6",
|
||||
"express": "^4.15.2",
|
||||
"express": "^4.17.1",
|
||||
"ngx-bootrap-multiselect": "^2.0.0",
|
||||
"ngx-infinite-scroll": "^9.0.0",
|
||||
"ngx-infinite-scroll": "^10.0.1",
|
||||
"qrcode": "^1.4.4",
|
||||
"rxjs": "^6.6.3",
|
||||
"rxjs": "^6.6.7",
|
||||
"tinyify": "^3.0.0",
|
||||
"tlite": "^0.1.9",
|
||||
"tslib": "^2.0.0",
|
||||
"zone.js": "~0.10.3"
|
||||
"tslib": "^2.2.0",
|
||||
"zone.js": "~0.11.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^0.1002.0",
|
||||
"@angular/cli": "~10.2.0",
|
||||
"@angular/compiler-cli": "~10.2.2",
|
||||
"@angular/language-service": "~10.2.2",
|
||||
"@nguniversal/builders": "^10.1.0",
|
||||
"@angular-devkit/build-angular": "^0.1102.7",
|
||||
"@angular/cli": "~11.2.7",
|
||||
"@angular/compiler-cli": "~11.2.8",
|
||||
"@angular/language-service": "~11.2.8",
|
||||
"@nguniversal/builders": "^11.2.1",
|
||||
"@types/express": "^4.17.0",
|
||||
"@types/jasmine": "~3.3.8",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^6.0.0",
|
||||
"codelyzer": "^6.0.1",
|
||||
"http-proxy-middleware": "^1.0.5",
|
||||
"jasmine-core": "~3.5.0",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~5.0.0",
|
||||
"karma": "~6.1.0",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||
"karma-jasmine": "~3.3.0",
|
||||
"karma-coverage": "~2.0.3",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"ts-node": "~8.3.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "~4.0.5"
|
||||
"typescript": "~4.1.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"/api/v1/donations": {
|
||||
"target": "http://localhost:9000/",
|
||||
"secure": false
|
||||
},
|
||||
"/api/v1": {
|
||||
"target": "http://localhost:8999/",
|
||||
"secure": false
|
||||
@@ -41,6 +37,28 @@
|
||||
"^/testnet/api": ""
|
||||
}
|
||||
},
|
||||
"/signet/api/v1": {
|
||||
"target": "http://localhost:8999/",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/signet/api/v1": "/api/v1"
|
||||
}
|
||||
},
|
||||
"/signet/api/v1/ws": {
|
||||
"target": "http://localhost:8999/",
|
||||
"secure": false,
|
||||
"ws": true,
|
||||
"pathRewrite": {
|
||||
"^/signet/api": "/api/v1/ws"
|
||||
}
|
||||
},
|
||||
"/signet/api/": {
|
||||
"target": "http://localhost:50001/",
|
||||
"secure": false,
|
||||
"pathRewrite": {
|
||||
"^/signet/api": ""
|
||||
}
|
||||
},
|
||||
"/liquid/api/v1/ws": {
|
||||
"target": "http://localhost:8999/",
|
||||
"secure": false,
|
||||
|
||||
@@ -91,6 +91,17 @@ export function app(locale: string): express.Express {
|
||||
server.get('/testnet/tv', getLocalizedSSR(indexHtml));
|
||||
server.get('/testnet/status', getLocalizedSSR(indexHtml));
|
||||
server.get('/testnet/about', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/tx/*', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/block/*', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/mempool-block/*', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/address/*', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/blocks', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/graphs', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/api', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/tv', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/status', getLocalizedSSR(indexHtml));
|
||||
server.get('/signet/about', getLocalizedSSR(indexHtml));
|
||||
server.get('/bisq', getLocalizedSSR(indexHtml));
|
||||
server.get('/bisq/tx/*', getLocalizedSSR(indexHtml));
|
||||
server.get('/bisq/blocks', getLocalizedSSR(indexHtml));
|
||||
|
||||
@@ -202,6 +202,68 @@ const routes: Routes = [
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'signet',
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: MasterPageComponent,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: StartComponent,
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: DashboardComponent
|
||||
},
|
||||
{
|
||||
path: 'tx/:id',
|
||||
component: TransactionComponent
|
||||
},
|
||||
{
|
||||
path: 'block/:id',
|
||||
component: BlockComponent
|
||||
},
|
||||
{
|
||||
path: 'mempool-block/:id',
|
||||
component: MempoolBlockComponent
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: 'blocks',
|
||||
component: LatestBlocksComponent,
|
||||
},
|
||||
{
|
||||
path: 'graphs',
|
||||
component: StatisticsComponent,
|
||||
},
|
||||
{
|
||||
path: 'address/:id',
|
||||
children: [],
|
||||
component: AddressComponent
|
||||
},
|
||||
{
|
||||
path: 'api',
|
||||
component: ApiDocsComponent,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: 'tv',
|
||||
component: TelevisionComponent
|
||||
},
|
||||
{
|
||||
path: 'status',
|
||||
component: StatusViewComponent
|
||||
},
|
||||
{
|
||||
path: '**',
|
||||
redirectTo: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'bisq',
|
||||
component: MasterPageComponent,
|
||||
|
||||
@@ -60,7 +60,7 @@ export const languages: Language[] = [
|
||||
// { code: 'hr', name: 'Hrvatski' }, // Croatian
|
||||
// { code: 'id', name: 'Bahasa Indonesia' },// Indonesian
|
||||
{ code: 'it', name: 'Italiano' }, // Italian
|
||||
// { code: 'he', name: 'עברית' }, // Hebrew
|
||||
{ code: 'he', name: 'עברית' }, // Hebrew
|
||||
{ code: 'ka', name: 'ქართული' }, // Georgian
|
||||
// { code: 'lv', name: 'Latviešu' }, // Latvian
|
||||
// { code: 'lt', name: 'Lietuvių' }, // Lithuanian
|
||||
|
||||
@@ -44,7 +44,7 @@ import { FeesBoxComponent } from './components/fees-box/fees-box.component';
|
||||
import { DashboardComponent } from './dashboard/dashboard.component';
|
||||
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
|
||||
import { faAngleDown, faAngleUp, faBolt, faChartArea, faCogs, faCubes, faDatabase, faExchangeAlt, faInfoCircle,
|
||||
faLink, faList, faSearch, faTachometerAlt, faThList, faTint, faTv } from '@fortawesome/free-solid-svg-icons';
|
||||
faLink, faList, faSearch, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faAngleDoubleUp } from '@fortawesome/free-solid-svg-icons';
|
||||
import { ApiDocsComponent } from './components/api-docs/api-docs.component';
|
||||
import { TermsOfServiceComponent } from './components/terms-of-service/terms-of-service.component';
|
||||
import { StorageService } from './services/storage.service';
|
||||
@@ -125,5 +125,7 @@ export class AppModule {
|
||||
library.addIcons(faAngleDown);
|
||||
library.addIcons(faAngleUp);
|
||||
library.addIcons(faExchangeAlt);
|
||||
library.addIcons(faAngleDoubleUp);
|
||||
library.addIcons(faAngleDoubleDown);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,46 +5,72 @@
|
||||
<br>
|
||||
|
||||
<div class="text-small text-center offset-md-1">
|
||||
v2.2-SNAPSHOT ({{ gitCommit$ | async }})
|
||||
v{{ packetJsonVersion }} [{{ frontendGitCommitHash }}]
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 i18n="about.about-the-project">The Mempool Open Source Project</h2>
|
||||
<h5 i18n="about.about-the-project">The Mempool Open Source Project</h5>
|
||||
<div class="row row-cols-1">
|
||||
<div class="col col-md-6 mx-auto">
|
||||
<p i18n>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without any ads, altcoins, or third-party trackers.</p>
|
||||
<p i18n>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://github.com/mempool/mempool">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github fa-w-16 fa-4x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<h2 i18n="about.maintainers">Maintainers</h2>
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://twitter.com/mempool">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter fa-w-16 fa-4x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="container text-center">
|
||||
<div class="row row-cols-2" dir="ltr">
|
||||
<div class="col col-md-2 offset-md-4">
|
||||
<a href="https://twitter.com/softsimon_">
|
||||
<div class="profile_photo mx-auto" style="background-image: url(/resources/profile_softsimon.jpg)"></div>
|
||||
@softsimon_
|
||||
</a>
|
||||
<br>
|
||||
<span i18n="about.development">Development</span>
|
||||
</div>
|
||||
<div class="col col-md-2">
|
||||
<a href="https://twitter.com/wiz">
|
||||
<div class="profile_photo mx-auto" style="background-image: url(/resources/profile_wiz.png)"></div>
|
||||
@wiz
|
||||
</a>
|
||||
<br>
|
||||
<span i18n="about.operations">Operations</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://t.me/mempoolspace">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="telegram-plane" class="svg-inline--fa fa-telegram-plane fa-w-14 fa-4x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"></path></svg>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://keybase.io/team/mempool">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="keybase" class="svg-inline--fa fa-keybase fa-w-14 fa-4x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z"></path></svg>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<h2 i18n="about.sponsors.withHeart">Sponsors ❤️</h2>
|
||||
<h3 i18n="about.sponsors.enterprise">Enterprise Sponsors 🚀</h3>
|
||||
|
||||
<a href="https://squarecrypto.org/" target="_blank">
|
||||
<div class="profile_photo enterprise_sponsor d-inline-block" title="Square Crypto">
|
||||
<img class="profile_img" src="/resources/profile/sqcrypto.svg" />
|
||||
Square
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://gemini.com/" target="_blank">
|
||||
<div class="profile_photo enterprise_sponsor d-inline-block" title="Gemini">
|
||||
<img class="profile_img" src="/resources/profile/gemini.svg" />
|
||||
Gemini
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://exodus.com/" target="_blank">
|
||||
<div class="profile_photo enterprise_sponsor d-inline-block" title="Exodus">
|
||||
<img class="profile_img" src="/resources/profile/exodus.svg" />
|
||||
Exodus
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<h3 i18n="about.sponsors.withHeart">Community Sponsors ❤️</h3>
|
||||
|
||||
<div *ngIf="sponsors === null">
|
||||
<br>
|
||||
@@ -53,7 +79,7 @@
|
||||
|
||||
<ng-template ngFor let-sponsor [ngForOf]="sponsors">
|
||||
<a [href]="'https://twitter.com/' + sponsor.handle" target="_blank" rel="sponsored">
|
||||
<div class="profile_photo d-inline-block" [title]="sponsor.handle">
|
||||
<div class="profile_photo community_sponsor d-inline-block" [title]="sponsor.handle">
|
||||
<img class="profile_img" [src]="'/api/v1/donations/images/' + sponsor.handle" />
|
||||
</div>
|
||||
</a>
|
||||
@@ -175,40 +201,208 @@
|
||||
<h2><span i18n="about.sponsor.donation-confirmed">Donation confirmed!</span><br><span i18n="about.sponsor.thank-you">Thank you!</span></h2>
|
||||
</div>
|
||||
|
||||
<br><br><br>
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://github.com/mempool/mempool">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github fa-w-16 fa-3x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
|
||||
</span>
|
||||
<h3 i18n="about.integrations">Community Integrations</h3>
|
||||
|
||||
<a href="https://github.com/bisq-network/bisq" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Bisq">
|
||||
<img class="profile_img" src="/resources/profile/bisq_network.png" />
|
||||
Bisq
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://twitter.com/mempoolspace">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter fa-w-16 fa-3x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
|
||||
</span>
|
||||
<a href="https://github.com/getumbrel/umbrel" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Umbrel">
|
||||
<img class="profile_img" src="/resources/profile/umbrel.png" />
|
||||
Umbrel
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://t.me/mempoolspace">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="telegram-plane" class="svg-inline--fa fa-telegram-plane fa-w-14 fa-3x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"></path></svg>
|
||||
</span>
|
||||
<a href="https://github.com/rootzoll/raspiblitz" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="RaspiBlitz">
|
||||
<img class="profile_img" src="/resources/profile/raspiblitz.jpg" />
|
||||
RaspiBlitz
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" class="m-2 fw6 mb3 mt2 truncate black-80 f4 link" href="https://keybase.io/team/mempool">
|
||||
<span class="dib v-mid">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="keybase" class="svg-inline--fa fa-keybase fa-w-14 fa-3x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z"></path></svg>
|
||||
</span>
|
||||
<a href="https://github.com/mynodebtc/mynode" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="MyNode">
|
||||
<img class="profile_img" src="/resources/profile/mynodebtc.jpg" />
|
||||
MyNode
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/RoninDojo/RoninDojo" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="RoninDojo">
|
||||
<img class="profile_img" src="/resources/profile/ronindojo.png" />
|
||||
RoninDojo
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/spesmilo/electrum" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Electrum Wallet">
|
||||
<img class="profile_img" src="/resources/profile/electrum.jpg" />
|
||||
Electrum
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/cryptoadvance/specter-desktop" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Specter Wallet">
|
||||
<img class="profile_img" src="/resources/profile/specter.png" />
|
||||
Specter
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/sparrowwallet/sparrow" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Sparrow Wallet">
|
||||
<img class="profile_img" src="/resources/profile/sparrow.png" />
|
||||
Sparrow
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/ACINQ/phoenix" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Phoenix Wallet by ACINQ">
|
||||
<img class="profile_img" src="/resources/profile/phoenix.jpg" />
|
||||
Phoenix
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/muun/apollo" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Muun Wallet">
|
||||
<img class="profile_img" src="/resources/profile/muun.png" />
|
||||
Muun
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/BlueWallet/BlueWallet" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="BlueWallet">
|
||||
<img class="profile_img" src="/resources/profile/bluewallet.png" />
|
||||
BlueWallet
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/hsjoberg/blixt-wallet" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Blixt Wallet">
|
||||
<img class="profile_img" src="/resources/profile/blixt.png" />
|
||||
Blixt
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/Satpile/satpile" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Satpile Watch-Only Wallet">
|
||||
<img class="profile_img" src="/resources/profile/satpile.jpg" />
|
||||
Satpile
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/btcontract/lnwallet" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="Bitcoin Lightning Wallet">
|
||||
<img class="profile_img" src="/resources/profile/blw.png" />
|
||||
BLW
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/pxsocs/warden" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="WARden Portfolio">
|
||||
<img class="profile_img" src="/resources/profile/warden.jpg" />
|
||||
WARden
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<h3 i18n="about.alliances">Community Alliances</h3>
|
||||
|
||||
<a href="https://liquid.net/">
|
||||
<img src="/resources/profile/liquid.svg" height="52">
|
||||
</a>
|
||||
|
||||
<a href="https://opencrypto.org/">
|
||||
<img src="/resources/profile/copa.png" height="62" style="margin-left: 30px; margin-right: 30px; margin-top: 20px;">
|
||||
</a>
|
||||
|
||||
<a href="https://bisq.network/">
|
||||
<img src="/resources/profile/bisq.svg" height="62">
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<h3 i18n="about.contributors">Project Contributors</h3>
|
||||
|
||||
<div *ngIf="contributors === null">
|
||||
<br>
|
||||
<div class="spinner-border text-light"></div>
|
||||
</div>
|
||||
|
||||
<ng-template ngFor let-contributor [ngForOf]="contributors">
|
||||
<a [href]="'https://github.com/' + contributor.name" target="_blank">
|
||||
<div class="profile_photo project_contributor d-inline-block" [title]="contributor.name">
|
||||
<img class="profile_img" [src]="'/api/v1/contributors/images/' + contributor.id" />
|
||||
{{ contributor.name }}
|
||||
</div>
|
||||
</a>
|
||||
</ng-template>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<h3 i18n="about.maintainers">Project Maintainers</h3>
|
||||
|
||||
<a href="https://twitter.com/softsimon_" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="softsimon">
|
||||
<img class="profile_img" src="/resources/profile/softsimon.jpg" />
|
||||
softsimon
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://twitter.com/wiz" target="_blank">
|
||||
<div class="profile_photo d-inline-block" title="wiz">
|
||||
<img class="profile_img" src="/resources/profile/wiz.png" />
|
||||
wiz
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<br>
|
||||
<div class="col-md-8 offset-md-2 text-center">
|
||||
<code>Copyright (c) 2019-2021</code><br>
|
||||
<code>The Mempool Open Source Project</code><br>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-8 offset-md-2 text-left" style="padding-left: 20px">
|
||||
<code>This program is free software; you can redistribute it and/or modify it under the terms of (at your option) either:</code><br>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-8 offset-md-2 text-left" style="padding-left: 40px">
|
||||
<code> 1) the <a href="https://www.gnu.org/licenses/agpl-3.0-standalone.html">GNU Affero General Public License</a> as published by the Free Software Foundation, either version 3 of the License or any later version approved by a proxy statement published on <https://mempool.space/about>; or</code><br>
|
||||
<br>
|
||||
<code> 2) the <a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html">GNU General Public License</a> as published by the Free Software Foundation, either version 3 of the License or any later version approved by a proxy statement published on <https://mempool.space/about>.</code><br>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-8 offset-md-2 text-left" style="padding-left: 20px">
|
||||
<code>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the full license terms for more details.</code><br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
<br>
|
||||
|
||||
<div class="text-center">
|
||||
<a href="/3rdpartylicenses.txt">Third-party Licenses</a>
|
||||
<br>
|
||||
<br>
|
||||
<a [routerLink]="['/terms-of-service']" i18n="shared.terms-of-service|Terms of Service">Terms of Service</a>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="text-small text-center" *ngIf="officialMempoolSpace">
|
||||
{{ (backendInfo$ | async)?.hostname }} (v{{ (backendInfo$ | async )?.version }}) [{{ (backendInfo$ | async )?.gitCommit | slice:0:8 }}]
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
height: 80px;
|
||||
background-size: 100%, 100%;
|
||||
border-radius: 50%;
|
||||
margin: 10px;
|
||||
margin: 25px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.profile_img {
|
||||
@@ -20,6 +21,20 @@
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.community_sponsor {
|
||||
margin: 6px;
|
||||
}
|
||||
|
||||
.enterprise_sponsor {
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
.project_contributor {
|
||||
width: 130px;
|
||||
margin: 25px auto;
|
||||
}
|
||||
|
||||
.text-small {
|
||||
font-size: 12px;
|
||||
}
|
||||
@@ -32,4 +47,4 @@
|
||||
.required {
|
||||
color: #FF0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,8 @@ import { Observable, Subscription } from 'rxjs';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { ApiService } from 'src/app/services/api.service';
|
||||
import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
|
||||
import { delay, map, retryWhen, switchMap, tap } from 'rxjs/operators';
|
||||
import { delay, retryWhen, switchMap, tap } from 'rxjs/operators';
|
||||
import { IBackendInfo } from 'src/app/interfaces/websocket.interface';
|
||||
|
||||
@Component({
|
||||
selector: 'app-about',
|
||||
@@ -14,14 +15,19 @@ import { delay, map, retryWhen, switchMap, tap } from 'rxjs/operators';
|
||||
styleUrls: ['./about.component.scss'],
|
||||
})
|
||||
export class AboutComponent implements OnInit, OnDestroy {
|
||||
gitCommit$: Observable<string>;
|
||||
backendInfo$: Observable<IBackendInfo>;
|
||||
donationForm: FormGroup;
|
||||
paymentForm: FormGroup;
|
||||
donationStatus = 1;
|
||||
sponsors$: Observable<any>;
|
||||
contributors$: Observable<any>;
|
||||
donationObj: any;
|
||||
sponsorsEnabled = this.stateService.env.OFFICIAL_MEMPOOL_SPACE;
|
||||
frontendGitCommitHash = this.stateService.env.GIT_COMMIT_HASH.substr(0, 8);
|
||||
packetJsonVersion = this.stateService.env.PACKAGE_JSON_VERSION;
|
||||
officialMempoolSpace = this.stateService.env.OFFICIAL_MEMPOOL_SPACE;
|
||||
sponsors = null;
|
||||
contributors = null;
|
||||
requestSubscription: Subscription | undefined;
|
||||
|
||||
constructor(
|
||||
@@ -34,7 +40,7 @@ export class AboutComponent implements OnInit, OnDestroy {
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
this.gitCommit$ = this.stateService.gitCommit$.pipe(map((str) => str.substr(0, 8)));
|
||||
this.backendInfo$ = this.stateService.backendInfo$;
|
||||
this.seoService.setTitle($localize`:@@004b222ff9ef9dd4771b777950ca1d0e4cd4348a:About`);
|
||||
this.websocketService.want(['blocks']);
|
||||
|
||||
@@ -51,6 +57,11 @@ export class AboutComponent implements OnInit, OnDestroy {
|
||||
.subscribe((sponsors) => {
|
||||
this.sponsors = sponsors;
|
||||
});
|
||||
|
||||
this.apiService.getContributor$()
|
||||
.subscribe((contributors) => {
|
||||
this.contributors = contributors;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
<i>{{ error.error }}</i>
|
||||
<ng-template [ngIf]="error.status === 413 || error.status === 405">
|
||||
<br><br>
|
||||
Consider view this address on the official Mempool website instead:
|
||||
Consider viewing this address on the official Mempool website instead:
|
||||
<br>
|
||||
<a href="https://mempool.space/address/{{ addressString }}" target="_blank">https://mempool.space/address/{{ addressString }}</a>
|
||||
<br>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<ng-template #default>
|
||||
‎{{ satoshis / 100000000 | number : digitsInfo }}
|
||||
<ng-template [ngIf]="network === 'liquid'">L-</ng-template>
|
||||
<ng-template [ngIf]="network === 'testnet'">t</ng-template>BTC
|
||||
<ng-template [ngIf]="network === 'testnet'">t</ng-template>
|
||||
<ng-template [ngIf]="network === 'signet'">s</ng-template>BTC
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
|
||||
@@ -40,6 +40,10 @@
|
||||
<td class="nowrap"><a href="{{ network.val === '' ? '' : '/' + network.val }}/api/v1/fees/mempool-blocks" target="_blank">GET {{ network.val === '' ? '' : '/' + network.val }}/api/v1/fees/mempool-blocks</a></td>
|
||||
<td i18n="api-docs.fees.mempool-blocks|API Docs for /api/v1/fees/mempool-blocks">Returns current mempool as projected blocks.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap"><a href="{{ network.val === '' ? '' : '/' + network.val }}/api/v1/cpfp/TXID" target="_blank">GET {{ network.val === '' ? '' : '/' + network.val }}/api/v1/cpfp/:txid</a></td>
|
||||
<td i18n="api-docs.fees.cpfp|API Docs for /api/v1/fees/cpfp">Returns the ancestors and the best descendant fees for a transaction.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</ng-template>
|
||||
@@ -101,7 +105,7 @@
|
||||
<td i18n>Returns the transaction at index <code>:index</code> within the specified block.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap"><a href="{{ network.val === '' ? '' : '/' + network.val }}/api/block/000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce/raw" target="_blank">GET {{ network.val === '' ? '' : '/' + network.val }}/api/block/:hash/txid/raw</a></td>
|
||||
<td class="nowrap"><a href="{{ network.val === '' ? '' : '/' + network.val }}/api/block/000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce/raw" target="_blank">GET {{ network.val === '' ? '' : '/' + network.val }}/api/block/:hash/raw</a></td>
|
||||
<td i18n>Returns the raw block representation in binary.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -19,7 +19,7 @@ export class AppComponent implements OnInit {
|
||||
private location: Location,
|
||||
@Inject(LOCALE_ID) private locale: string,
|
||||
) {
|
||||
if (this.locale.startsWith('ar') || this.locale.startsWith('fa')) {
|
||||
if (this.locale.startsWith('ar') || this.locale.startsWith('fa') || this.locale.startsWith('he')) {
|
||||
this.dir = 'rtl';
|
||||
this.class = 'rtl-layout';
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ export class BlockchainBlocksComponent implements OnInit, OnDestroy {
|
||||
bisq: ['#9339f4', '#105fb0'],
|
||||
liquid: ['#116761', '#183550'],
|
||||
testnet: ['#1d486f', '#183550'],
|
||||
signet: ['#6f1d5d', '#471850'],
|
||||
};
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -58,7 +58,7 @@ export class FeesBoxComponent implements OnInit {
|
||||
if (pBlock.blockVSize <= 500000) {
|
||||
return this.defaultFee;
|
||||
}
|
||||
if (pBlock.blockVSize <= 950000 && nextBlock) {
|
||||
if (pBlock.blockVSize <= 950000 && !nextBlock) {
|
||||
const multiplier = (pBlock.blockVSize - 500000) / 500000;
|
||||
return Math.max(Math.round(useFee * multiplier), this.defaultFee);
|
||||
}
|
||||
|
||||
@@ -11,12 +11,13 @@
|
||||
</ng-container>
|
||||
</a>
|
||||
|
||||
<div ngbDropdown display="dynamic" class="dropdown-container" *ngIf="env.TESTNET_ENABLED || env.LIQUID_ENABLED || env.BISQ_ENABLED">
|
||||
<div ngbDropdown display="dynamic" class="dropdown-container" *ngIf="env.TESTNET_ENABLED || env.SIGNET_ENABLED || env.LIQUID_ENABLED || env.BISQ_ENABLED">
|
||||
<button ngbDropdownToggle type="button" class="btn btn-secondary dropdown-toggle-split" aria-haspopup="true">
|
||||
<img src="./resources/{{ network.val === '' ? 'bitcoin' : network.val }}-logo.png" style="width: 25px; height: 25px;" class="mr-1">
|
||||
</button>
|
||||
<div ngbDropdownMenu>
|
||||
<button ngbDropdownItem class="mainnet" routerLink="/"><img src="./resources/bitcoin-logo.png" style="width: 30px;" class="mr-1"> Mainnet</button>
|
||||
<button ngbDropdownItem *ngIf="env.SIGNET_ENABLED" class="signet" [class.active]="network.val === 'signet'" routerLink="/signet"><img src="./resources/signet-logo.png" style="width: 30px;" class="mr-1"> Signet</button>
|
||||
<button ngbDropdownItem *ngIf="env.TESTNET_ENABLED" class="testnet" [class.active]="network.val === 'testnet'" routerLink="/testnet"><img src="./resources/testnet-logo.png" style="width: 30px;" class="mr-1"> Testnet</button>
|
||||
<h6 *ngIf="env.LIQUID_ENABLED || env.BISQ_ENABLED" class="dropdown-header" i18n="master-page.layer2-networks-header">Layer 2 Networks</h6>
|
||||
<button ngbDropdownItem *ngIf="env.BISQ_ENABLED" class="mainnet" [class.active]="network.val === 'bisq'" routerLink="/bisq"><img src="./resources/bisq-logo.png" style="width: 30px;" class="mr-1"> Bisq</button>
|
||||
|
||||
@@ -67,6 +67,10 @@ nav {
|
||||
background-color: #1d486f;
|
||||
}
|
||||
|
||||
.signet.active {
|
||||
background-color: #6f1d5d;
|
||||
}
|
||||
|
||||
.dropdown-divider {
|
||||
border-top: 1px solid #121420;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ export class MempoolGraphComponent implements OnInit, OnChanges {
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
const showLegend = !this.isMobile && this.showLegend;
|
||||
let labelHops = !this.showLegend ? 48 : 24;
|
||||
if (this.small) {
|
||||
labelHops = labelHops / 2;
|
||||
@@ -73,28 +72,28 @@ export class MempoolGraphComponent implements OnInit, OnChanges {
|
||||
},
|
||||
axisY: {
|
||||
labelInterpolationFnc: (value: number): any => this.vbytesPipe.transform(value, 2),
|
||||
offset: showLegend ? 160 : 60,
|
||||
offset: this.showLegend ? 160 : 60,
|
||||
},
|
||||
plugins: this.inverted ? [Chartist.plugins.ctTargetLine({ value: 1000000 })] : []
|
||||
};
|
||||
|
||||
if (showLegend) {
|
||||
this.mempoolVsizeFeesOptions.plugins.push(
|
||||
Chartist.plugins.legend({
|
||||
legendNames: [1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 125, 150, 175, 200,
|
||||
if (this.showLegend) {
|
||||
const legendNames: string[] = [1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 125, 150, 175, 200,
|
||||
250, 300, 350, 400].map((sat, i, arr) => {
|
||||
if (sat === 400) {
|
||||
return '350+';
|
||||
return '350+';
|
||||
}
|
||||
if (i === 0) {
|
||||
if (this.stateService.network === 'liquid') {
|
||||
return '0 - 1';
|
||||
}
|
||||
return '1 sat/vB';
|
||||
return '0 - 1';
|
||||
}
|
||||
return arr[i - 1] + ' - ' + sat;
|
||||
})
|
||||
})
|
||||
});
|
||||
// Only Liquid has lower than 1 sat/vb transactions
|
||||
if (this.stateService.network !== 'liquid') {
|
||||
legendNames.shift();
|
||||
}
|
||||
this.mempoolVsizeFeesOptions.plugins.push(
|
||||
Chartist.plugins.legend({ legendNames: legendNames })
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@ const defaultOptions = {
|
||||
|
||||
Chartist.plugins.legend = function (options: any) {
|
||||
let cachedDOMPosition;
|
||||
let cacheInactiveLegends: any = [];
|
||||
let cacheInactiveLegends: { [key:number]: boolean } = {};
|
||||
// Catch invalid options
|
||||
if (options && options.position) {
|
||||
if (!(options.position === 'top' || options.position === 'bottom' || options.position instanceof HTMLElement)) {
|
||||
@@ -449,32 +449,29 @@ Chartist.plugins.legend = function (options: any) {
|
||||
const legendIndex = parseInt(li.getAttribute('data-legend'));
|
||||
const legend = legends[legendIndex];
|
||||
|
||||
if (!legend.active) {
|
||||
legend.active = true;
|
||||
li.classList.remove('inactive');
|
||||
const activateLegend = (_legendIndex: number): void => {
|
||||
legends[_legendIndex].active = true;
|
||||
legendElement.childNodes[_legendIndex].classList.remove('inactive');
|
||||
|
||||
var indexOfInactiveLegend = cacheInactiveLegends.indexOf(legendIndex, 0)
|
||||
if (indexOfInactiveLegend > -1) {
|
||||
cacheInactiveLegends.splice(indexOfInactiveLegend, 1);
|
||||
}
|
||||
cacheInactiveLegends[_legendIndex] = false;
|
||||
}
|
||||
|
||||
} else {
|
||||
legend.active = false;
|
||||
li.classList.add('inactive');
|
||||
cacheInactiveLegends.push(legendIndex);
|
||||
const deactivateLegend = (_legendIndex: number): void => {
|
||||
legends[_legendIndex].active = false;
|
||||
legendElement.childNodes[_legendIndex].classList.add('inactive');
|
||||
cacheInactiveLegends[_legendIndex] = true;
|
||||
}
|
||||
|
||||
const activeCount = legends.filter(function(legend: any) { return legend.active; }).length;
|
||||
if (!options.removeAll && activeCount == 0) {
|
||||
// If we can't disable all series at the same time, let's
|
||||
// reenable all of them:
|
||||
for (let i = 0; i < legends.length; i++) {
|
||||
legends[i].active = true;
|
||||
legendElement.childNodes[i].classList.remove('inactive');
|
||||
}
|
||||
|
||||
cacheInactiveLegends = [];
|
||||
for (let i = legends.length - 1; i >= 0; i--) {
|
||||
if (i >= legendIndex) {
|
||||
if (!legend.active) activateLegend(i);
|
||||
} else {
|
||||
if (legend.active) deactivateLegend(i);
|
||||
}
|
||||
}
|
||||
// Make sure all values are undefined (falsy) when clicking the first legend
|
||||
// After clicking the first legend all indices should be falsy
|
||||
if (legendIndex === 0) cacheInactiveLegends = {};
|
||||
|
||||
const newSeries = [];
|
||||
const newLabels = [];
|
||||
@@ -512,7 +509,8 @@ Chartist.plugins.legend = function (options: any) {
|
||||
const legendSeries = legend.series || [i];
|
||||
|
||||
const li = createNameElement(i, legendText, classNamesViable);
|
||||
const isActive: boolean = !(cacheInactiveLegends.indexOf(i) > -1);
|
||||
// If the value is undefined or false, isActive is true
|
||||
const isActive: boolean = !cacheInactiveLegends[i];
|
||||
if (isActive) {
|
||||
activeSeries.push(seriesMetadata[i].data);
|
||||
activeLabels.push(seriesMetadata[i].label);
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
<div class="container-xl">
|
||||
<div class="text-center">
|
||||
<br />
|
||||
<img src="./resources/mempool-logo-bigger.png" height="67.5" width="251">
|
||||
<img [src]="officialMempoolSpace ? './resources/mempool-space-logo-bigger.png' : './resources/mempool-logo-bigger.png'" style="width: 250px;height:63px;">
|
||||
<br /><br />
|
||||
|
||||
<h2>Terms of Service</h2>
|
||||
<h6>Updated: October 12, 2020</h6>
|
||||
<h6>Updated: March 09, 2021</h6>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="text-left">
|
||||
|
||||
<p *ngIf="officialMempoolSpace">The official <a href="https://mempool.space/">mempool.space</a> website and <a href="https://mempool.space/api">its API service</a> are operated by Mempool Space K.K.</p>
|
||||
<p *ngIf="!officialMempoolSpace">This website and its API service are operated by an individual member of the Bitcoin community, who is not affiliated with Mempool Space K.K.</p>
|
||||
|
||||
<h5>By using this website or accessing its API, you agree to these Terms of Service:</h5>
|
||||
|
||||
<br>
|
||||
@@ -29,16 +32,44 @@
|
||||
|
||||
<h4>PRIVACY POLICY</h4>
|
||||
|
||||
<p>The operators of this website may collect your IP address as part of basic webserver logs and a self-hosted statistics application, but this data will never be sold or shared with third parties. Please use Tor when accessing this website to protect your privacy.</p>
|
||||
<p>Out of respect for the Bitcoin community, this website does not utilize any third-party trackers or cookies, and the operators of this website do not share any user data with third-parties. However, your IP address may be collected as part of basic webserver logs necessary for systems administration purposes, and as part of an anonymized self-hosted statistics application for analytics. To protect your privacy, use Tor browser to access this website's Tor V3 onion hostname to conceal your IP address, or alternatively install and use your own self-hosted instance of this website.</p>
|
||||
|
||||
<h4>SPONSOR POLICY</h4>
|
||||
<br>
|
||||
|
||||
<p>If you donate at least 0.01 BTC to mempool.space and submit your Twitter username at the time of donation, we will generally feature your Twitter profile photo on our About page with a link to your Twitter account. However, we reserve the right to remove sponsors listed on our website that in our sole discretion are inappropriate. All donations made are non-refundable.</p>
|
||||
<h4>BITCOIN ONLY POLICY</h4>
|
||||
|
||||
</div>
|
||||
<p>Out of respect for the Bitcoin community, this website does not support altcoins, and is generally "Bitcoin Only". The <a href="https://mempool.space/liquid/assets">IOU tokens for Bitcoin and fiat currencies on the Liquid network</a>, and the <a href="https://mempool.space/bisq/stats">BSQ colored Bitcoin for DAO governance on the Bisq Network</a>, are not considered altcoins as they do not distract users from Bitcoin and are part of our stated mission to support the entire Bitcoin ecosystem including Bitcoin Layer 2 Networks.</p>
|
||||
|
||||
<br><br>
|
||||
<br>
|
||||
|
||||
<h4>EXTERNAL LINK POLICY</h4>
|
||||
|
||||
<p>Out of respect for the Bitcoin community, this website does not display advertising, and generally does not link to external websites. However, exceptions are made for references to Bitcoin's technical documentation, for acknowledgements of individual members and open-source projects within the Bitcoin community, and for direct contributors and supporters of <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a>, as follows:</p>
|
||||
<ul>
|
||||
<li>In order to refer to Bitcoin technical documentation, external links may by added where applicable, to informational websites that respect that Bitcoin community and do not display advertising, altcoins, or third-party trackers, such as <a href="https://en.bitcoin.it/">bitcoin.it</a> and <a href="https://bitcoin.org/">bitcoin.org</a>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge individual contributors to <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a> who have made <a href="https://github.com/mempool/mempool/graphs/contributors">at least 10 contributions visible on GitHub</a>, the contributor's GitHub profile photo will automatically be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to their GitHub profile</u>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge members of the Bitcoin community who have made a one-time donation of at least 0.01 BTC to <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a> on <a href="https://mempool.space/about">mempool.space/about</a>, the Bitcoin community members's Twitter profile photo will automatically be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to their Twitter profile</u>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge members of the Bitcoin community who have made recurring donations of at least $100 USD per month to <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a> through <a href="https://github.com/sponsors/mempool">our GitHub Sponsors program</a> for at least 6 months, the Bitcoin community member's GitHub profile photo will automatically be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to their GitHub profile</u>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge open source projects that benefit the Bitcoin community and have integrated <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a> into their software, the open source project's logo may be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to the project's GitHub repository</u>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge federations or alliances within the Bitcoin community that have a relationship to <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a>, the federation or alliance logo may be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to the alliance website</u>.</li>
|
||||
<br>
|
||||
<li>In order to acknowledge the enterprise organizations within the Bitcoin community that have made a significant one-time donation of at least $25,000 USD to <a href="https://github.com/mempool/mempool">The Mempool Open Source Project</a>, the organization's logo may be displayed on <a href="https://mempool.space/about">mempool.space/about</a>, with <u>a link to the organization's website</u>.</li>
|
||||
</ul>
|
||||
<p>However, we reserve the right to remove any links from our website that in our sole discretion are inappropriate. All donations are non-refundable.</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p>EOF</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { Env, StateService } from '../../services/state.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-terms-of-service',
|
||||
templateUrl: './terms-of-service.component.html'
|
||||
})
|
||||
export class TermsOfServiceComponent {
|
||||
constructor() { }
|
||||
officialMempoolSpace = this.stateService.env.OFFICIAL_MEMPOOL_SPACE;
|
||||
|
||||
constructor(
|
||||
private stateService: StateService,
|
||||
) { }
|
||||
}
|
||||
|
||||
@@ -73,22 +73,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<table class="table table-borderless table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
|
||||
<td>{{ tx.fee | number }} <span i18n="transaction.fee.sat|Transaction Fee sat">sat</span> (<app-fiat [value]="tx.fee"></app-fiat>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td i18n="transaction.fee-per-vbyte|Transaction fee">Fee per vByte</td>
|
||||
<td>
|
||||
{{ tx.fee / (tx.weight / 4) | number : '1.1-1' }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span>
|
||||
|
||||
<app-tx-fee-rating *ngIf="tx.fee" [tx]="tx"></app-tx-fee-rating>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<ng-container *ngTemplateOutlet="feeTable"></ng-container>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -146,23 +131,60 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<table class="table table-borderless table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="td-width" i18n="transaction.fee|Transaction Fee">Fee</td>
|
||||
<td>{{ tx.fee | number }} <span i18n="transaction.fee.sat|Transaction Fee sat">sat</span> (<app-fiat [value]="tx.fee"></app-fiat>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td i18n="transaction.fee-per-vbyte|Transaction fee">Fee per vByte</td>
|
||||
<td>{{ tx.fee / (tx.weight / 4) | number : '1.1-1' }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<ng-container *ngTemplateOutlet="feeTable"></ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<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]">
|
||||
<span class="d-inline d-lg-none">{{ cpfpInfo.bestDescendant.txid | shortenString : 10 }}</span>
|
||||
<span class="d-none d-lg-inline">{{ cpfpInfo.bestDescendant.txid }}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="d-none d-lg-table-cell">{{ cpfpInfo.bestDescendant.weight / 4 | vbytes: 2 }}</td>
|
||||
<td>{{ cpfpInfo.bestDescendant.fee / (cpfpInfo.bestDescendant.weight / 4) | number : '1.1-1' }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span></td>
|
||||
<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]">
|
||||
<span class="d-inline d-lg-none">{{ cpfpTx.txid | shortenString : 10 }}</span>
|
||||
<span class="d-none d-lg-inline">{{ cpfpTx.txid }}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="d-none d-lg-table-cell">{{ cpfpTx.weight / 4 | vbytes: 2 }}</td>
|
||||
<td>{{ cpfpTx.fee / (cpfpTx.weight / 4) | number : '1.1-1' }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span></td>
|
||||
<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>
|
||||
</tr>
|
||||
</ng-template>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 class="float-left" i18n="transaction.inputs-and-outputs|Transaction inputs and outputs">Inputs & Outputs</h2>
|
||||
@@ -295,4 +317,35 @@
|
||||
<ng-template let-i #nextBlockEta i18n="mempool-blocks.eta-of-next-block|Block Frequency">In ~{{ i }} minute</ng-template>
|
||||
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} block</ng-template>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} blocks</ng-template>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} blocks</ng-template>
|
||||
|
||||
<ng-template #feeTable>
|
||||
<table class="table table-borderless table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="td-width" i18n="transaction.fee|Transaction fee">Fee</td>
|
||||
<td>{{ tx.fee | number }} <span i18n="transaction.fee.sat|Transaction Fee sat">sat</span> (<app-fiat [value]="tx.fee"></app-fiat>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td i18n="transaction.fee-rate|Transaction fee rate">Fee rate</td>
|
||||
<td>
|
||||
{{ tx.feePerVsize | number : '1.1-1' }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span>
|
||||
<ng-template [ngIf]="tx.status.confirmed">
|
||||
|
||||
<app-tx-fee-rating *ngIf="tx.fee && (cpfpInfo && !cpfpInfo.bestDescendant && !cpfpInfo.ancestors.length)" [tx]="tx"></app-tx-fee-rating>
|
||||
</ng-template>
|
||||
</td>
|
||||
</tr>
|
||||
<tr *ngIf="cpfpInfo && (cpfpInfo.bestDescendant || cpfpInfo.ancestors.length)">
|
||||
<td i18n="transaction.effective-fee-rate|Effective transaction fee rate">Effective fee rate</td>
|
||||
<td>
|
||||
{{ tx.effectiveFeePerVsize | number : '1.1-1' }} <span 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>
|
||||
<button type="button" class="btn btn-outline-info btn-sm btn-small-height ml-2 float-right" (click)="showCpfpDetails = !showCpfpDetails">CPFP <fa-icon [icon]="['fas', 'info-circle']" [fixedWidth]="true"></fa-icon></button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</ng-template>
|
||||
|
||||
@@ -26,4 +26,21 @@
|
||||
|
||||
h1 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.badge {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.btn-small-height {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
.arrow-green {
|
||||
color: #1a9436;
|
||||
}
|
||||
|
||||
.arrow-red {
|
||||
color: #dc3545;
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import { WebsocketService } from '../../services/websocket.service';
|
||||
import { AudioService } from 'src/app/services/audio.service';
|
||||
import { ApiService } from 'src/app/services/api.service';
|
||||
import { SeoService } from 'src/app/services/seo.service';
|
||||
import { CpfpInfo } from 'src/app/interfaces/node-api.interface';
|
||||
|
||||
@Component({
|
||||
selector: 'app-transaction',
|
||||
@@ -27,6 +28,8 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
transactionTime = -1;
|
||||
subscription: Subscription;
|
||||
rbfTransaction: undefined | Transaction;
|
||||
cpfpInfo: CpfpInfo | null;
|
||||
showCpfpDetails = false;
|
||||
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
@@ -77,6 +80,7 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
if (tx.fee === undefined) {
|
||||
this.tx.fee = 0;
|
||||
}
|
||||
this.tx.feePerVsize = tx.fee / (tx.weight / 4);
|
||||
this.isLoadingTx = false;
|
||||
this.error = undefined;
|
||||
this.waitingForTransaction = false;
|
||||
@@ -91,10 +95,33 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
this.getTransactionTime();
|
||||
}
|
||||
}
|
||||
|
||||
if (this.tx.status.confirmed) {
|
||||
this.stateService.markBlock$.next({ blockHeight: tx.status.block_height });
|
||||
} else {
|
||||
this.stateService.markBlock$.next({ txFeePerVSize: tx.fee / (tx.weight / 4) });
|
||||
if (tx.effectiveFeePerVsize) {
|
||||
this.stateService.markBlock$.next({ txFeePerVSize: tx.effectiveFeePerVsize });
|
||||
this.cpfpInfo = {
|
||||
ancestors: tx.ancestors,
|
||||
bestDescendant: tx.bestDescendant,
|
||||
};
|
||||
} else {
|
||||
this.apiService.getCpfpinfo$(this.tx.txid)
|
||||
.subscribe((cpfpInfo) => {
|
||||
const lowerFeeParents = cpfpInfo.ancestors.filter((parent) => (parent.fee / (parent.weight / 4)) < tx.feePerVsize);
|
||||
let totalWeight = tx.weight + lowerFeeParents.reduce((prev, val) => prev + val.weight, 0);
|
||||
let totalFees = tx.fee + lowerFeeParents.reduce((prev, val) => prev + val.fee, 0);
|
||||
|
||||
if (cpfpInfo.bestDescendant) {
|
||||
totalWeight += cpfpInfo.bestDescendant.weight;
|
||||
totalFees += cpfpInfo.bestDescendant.fee;
|
||||
}
|
||||
|
||||
this.tx.effectiveFeePerVsize = totalFees / (totalWeight / 4);
|
||||
this.stateService.markBlock$.next({ txFeePerVSize: this.tx.effectiveFeePerVsize });
|
||||
this.cpfpInfo = cpfpInfo;
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
@@ -139,7 +166,7 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
return;
|
||||
}
|
||||
|
||||
const txFeePerVSize = this.tx.fee / (this.tx.weight / 4);
|
||||
const txFeePerVSize = this.tx.effectiveFeePerVsize || this.tx.fee / (this.tx.weight / 4);
|
||||
|
||||
for (const block of mempoolBlocks) {
|
||||
for (let i = 0; i < block.feeRange.length - 1; i++) {
|
||||
@@ -165,6 +192,8 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
this.isLoadingTx = true;
|
||||
this.rbfTransaction = undefined;
|
||||
this.transactionTime = -1;
|
||||
this.cpfpInfo = null;
|
||||
this.showCpfpDetails = false;
|
||||
document.body.scrollTo(0, 0);
|
||||
this.leaveTransaction();
|
||||
}
|
||||
@@ -174,6 +203,10 @@ export class TransactionComponent implements OnInit, OnDestroy {
|
||||
this.stateService.markBlock$.next({});
|
||||
}
|
||||
|
||||
roundToOneDecimal(cpfpTx: any): number {
|
||||
return +(cpfpTx.fee / (cpfpTx.weight / 4)).toFixed(1);
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscription.unsubscribe();
|
||||
this.leaveTransaction();
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<span *ngIf="feeRating === 1" class="badge badge-success" i18n="tx-fee-rating.optimal|TX Fee Rating is Optimal">Optimal</span>
|
||||
<span *ngIf="feeRating === 2" class="badge badge-warning" placement="bottom" i18n-ngbTooltip="tx-fee-rating.warning-tooltip" ngbTooltip="Only ~{{ medianFeeNeeded }} sat/vB was needed to get into this block" i18n="tx-fee-rating.overpaid.warning|TX Fee Rating is Warning">Overpaid {{ overpaidTimes }}x</span>
|
||||
<span *ngIf="feeRating === 3" class="badge badge-danger" placement="bottom" i18n-ngbTooltip="tx-fee-rating.danger-tooltip" ngbTooltip="Only ~{{ medianFeeNeeded }} sat/vB was needed to get into this block" i18n="tx-fee-rating.overpaid.danger|TX Fee Rating is Danger">Overpaid {{ overpaidTimes }}x</span>
|
||||
<span *ngIf="feeRating === 2" class="badge badge-warning" placement="bottom" i18n-ngbTooltip="tx-fee-rating.warning-tooltip" ngbTooltip="Only ~{{ medianFeeNeeded | number : '1.1-1' }} sat/vB was needed to get into this block" i18n="tx-fee-rating.overpaid.warning|TX Fee Rating is Warning">Overpaid {{ overpaidTimes }}x</span>
|
||||
<span *ngIf="feeRating === 3" class="badge badge-danger" placement="bottom" i18n-ngbTooltip="tx-fee-rating.warning-tooltip" ngbTooltip="Only ~{{ medianFeeNeeded | number : '1.1-1' }} sat/vB was needed to get into this block" i18n="tx-fee-rating.overpaid.warning|TX Fee Rating is Warning">Overpaid {{ overpaidTimes }}x</span>
|
||||
|
||||
@@ -52,7 +52,7 @@ export class TxFeeRatingComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
calculateRatings(block: Block) {
|
||||
const feePervByte = this.tx.fee / (this.tx.weight / 4);
|
||||
const feePervByte = this.tx.effectiveFeePerVsize || this.tx.fee / (this.tx.weight / 4);
|
||||
this.medianFeeNeeded = block.medianFee;
|
||||
|
||||
// Block not filled
|
||||
|
||||
@@ -11,6 +11,24 @@ export interface Transaction {
|
||||
|
||||
// Custom properties
|
||||
firstSeen?: number;
|
||||
feePerVsize?: number;
|
||||
effectiveFeePerVsize?: number;
|
||||
ancestors?: Ancestor[];
|
||||
bestDescendant?: BestDescendant | null;
|
||||
cpfpChecked?: boolean;
|
||||
deleteAfter?: number;
|
||||
}
|
||||
|
||||
interface Ancestor {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
interface BestDescendant {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
export interface Recent {
|
||||
|
||||
@@ -8,3 +8,20 @@ export interface OptimizedMempoolStats {
|
||||
mempool_byte_weight: number;
|
||||
vsizes: number[] | string[];
|
||||
}
|
||||
|
||||
interface Ancestor {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
interface BestDescendant {
|
||||
txid: string;
|
||||
weight: number;
|
||||
fee: number;
|
||||
}
|
||||
|
||||
export interface CpfpInfo {
|
||||
ancestors: Ancestor[];
|
||||
bestDescendant: BestDescendant | null;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ export interface WebsocketResponse {
|
||||
rbfTransaction?: Transaction;
|
||||
transactions?: TransactionStripped[];
|
||||
loadingIndicators?: ILoadingIndicators;
|
||||
backendInfo?: IBackendInfo;
|
||||
'track-tx'?: string;
|
||||
'track-address'?: string;
|
||||
'track-asset'?: string;
|
||||
@@ -49,3 +50,8 @@ export interface TransactionStripped {
|
||||
value: number;
|
||||
}
|
||||
|
||||
export interface IBackendInfo {
|
||||
hostname: string;
|
||||
gitCommit: string;
|
||||
version: string;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpClient, HttpParams } from '@angular/common/http';
|
||||
import { OptimizedMempoolStats } from '../interfaces/node-api.interface';
|
||||
import { CpfpInfo, OptimizedMempoolStats } from '../interfaces/node-api.interface';
|
||||
import { Observable } from 'rxjs';
|
||||
import { StateService } from './state.service';
|
||||
import { WebsocketResponse } from '../interfaces/websocket.interface';
|
||||
@@ -77,6 +77,10 @@ export class ApiService {
|
||||
return this.httpClient.get<any[]>(this.apiBaseUrl + this.apiBasePath + '/api/v1/donations');
|
||||
}
|
||||
|
||||
getContributor$(): Observable<any[]> {
|
||||
return this.httpClient.get<any[]>(this.apiBaseUrl + this.apiBasePath + '/api/v1/contributors');
|
||||
}
|
||||
|
||||
checkDonation$(orderId: string): Observable<any[]> {
|
||||
return this.httpClient.get<any[]>(this.apiBaseUrl + this.apiBasePath + '/api/v1/donations/check?order_id=' + orderId);
|
||||
}
|
||||
@@ -84,4 +88,8 @@ export class ApiService {
|
||||
getInitData$(): Observable<WebsocketResponse> {
|
||||
return this.httpClient.get<WebsocketResponse>(this.apiBaseUrl + this.apiBasePath + '/api/v1/init-data');
|
||||
}
|
||||
|
||||
getCpfpinfo$(txid: string): Observable<CpfpInfo> {
|
||||
return this.httpClient.get<CpfpInfo>(this.apiBaseUrl + this.apiBasePath + '/api/v1/cpfp/' + txid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ export class AudioService {
|
||||
this.isPlaying = true;
|
||||
this.audio.src = '../../../resources/sounds/' + name + '.mp3';
|
||||
this.audio.load();
|
||||
this.audio.volume = 0.65; // 65% volume
|
||||
this.audio.play().catch((e) => {
|
||||
console.log('Play sound failed' + e);
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
||||
import { ReplaySubject, BehaviorSubject, Subject, fromEvent, Observable } from 'rxjs';
|
||||
import { Block, Transaction } from '../interfaces/electrs.interface';
|
||||
import { MempoolBlock, MempoolInfo, TransactionStripped } from '../interfaces/websocket.interface';
|
||||
import { IBackendInfo, MempoolBlock, MempoolInfo, TransactionStripped } from '../interfaces/websocket.interface';
|
||||
import { OptimizedMempoolStats } from '../interfaces/node-api.interface';
|
||||
import { Router, NavigationStart } from '@angular/router';
|
||||
import { isPlatformBrowser } from '@angular/common';
|
||||
@@ -17,6 +17,7 @@ export interface ILoadingIndicators { [name: string]: number; }
|
||||
|
||||
export interface Env {
|
||||
TESTNET_ENABLED: boolean;
|
||||
SIGNET_ENABLED: boolean;
|
||||
LIQUID_ENABLED: boolean;
|
||||
BISQ_ENABLED: boolean;
|
||||
BISQ_SEPARATE_BACKEND: boolean;
|
||||
@@ -26,10 +27,13 @@ export interface Env {
|
||||
NGINX_PROTOCOL?: string;
|
||||
NGINX_HOSTNAME?: string;
|
||||
NGINX_PORT?: string;
|
||||
GIT_COMMIT_HASH: string;
|
||||
PACKAGE_JSON_VERSION: string;
|
||||
}
|
||||
|
||||
const defaultEnv: Env = {
|
||||
'TESTNET_ENABLED': false,
|
||||
'SIGNET_ENABLED': false,
|
||||
'LIQUID_ENABLED': false,
|
||||
'BISQ_ENABLED': false,
|
||||
'BISQ_SEPARATE_BACKEND': false,
|
||||
@@ -39,6 +43,8 @@ const defaultEnv: Env = {
|
||||
'NGINX_PROTOCOL': 'http',
|
||||
'NGINX_HOSTNAME': '127.0.0.1',
|
||||
'NGINX_PORT': '80',
|
||||
'GIT_COMMIT_HASH': '',
|
||||
'PACKAGE_JSON_VERSION': '',
|
||||
};
|
||||
|
||||
@Injectable({
|
||||
@@ -63,7 +69,7 @@ export class StateService {
|
||||
isLoadingWebSocket$ = new ReplaySubject<boolean>(1);
|
||||
vbytesPerSecond$ = new ReplaySubject<number>(1);
|
||||
lastDifficultyAdjustment$ = new ReplaySubject<number>(1);
|
||||
gitCommit$ = new ReplaySubject<string>(1);
|
||||
backendInfo$ = new ReplaySubject<IBackendInfo>(1);
|
||||
loadingIndicators$ = new ReplaySubject<ILoadingIndicators>(1);
|
||||
|
||||
live2Chart$ = new Subject<OptimizedMempoolStats>();
|
||||
@@ -102,7 +108,7 @@ export class StateService {
|
||||
}
|
||||
|
||||
setNetworkBasedonUrl(url: string) {
|
||||
const networkMatches = url.match(/\/(bisq|testnet|liquid)/);
|
||||
const networkMatches = url.match(/\/(bisq|testnet|liquid|signet)/);
|
||||
switch (networkMatches && networkMatches[1]) {
|
||||
case 'liquid':
|
||||
if (this.network !== 'liquid') {
|
||||
@@ -110,6 +116,12 @@ export class StateService {
|
||||
this.networkChanged$.next('liquid');
|
||||
}
|
||||
return;
|
||||
case 'signet':
|
||||
if (this.network !== 'signet') {
|
||||
this.network = 'signet';
|
||||
this.networkChanged$.next('signet');
|
||||
}
|
||||
return;
|
||||
case 'testnet':
|
||||
if (this.network !== 'testnet') {
|
||||
this.network = 'testnet';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { webSocket, WebSocketSubject } from 'rxjs/webSocket';
|
||||
import { WebsocketResponse } from '../interfaces/websocket.interface';
|
||||
import { WebsocketResponse, IBackendInfo } from '../interfaces/websocket.interface';
|
||||
import { StateService } from './state.service';
|
||||
import { Block, Transaction } from '../interfaces/electrs.interface';
|
||||
import { Subscription } from 'rxjs';
|
||||
@@ -236,13 +236,13 @@ export class WebsocketService {
|
||||
this.stateService.bsqPrice$.next(response['bsq-price']);
|
||||
}
|
||||
|
||||
if (response['git-commit']) {
|
||||
this.stateService.gitCommit$.next(response['git-commit']);
|
||||
if (response.backendInfo) {
|
||||
this.stateService.backendInfo$.next(response.backendInfo);
|
||||
|
||||
if (!this.latestGitCommit) {
|
||||
this.latestGitCommit = response['git-commit'];
|
||||
this.latestGitCommit = response.backendInfo.gitCommit;
|
||||
} else {
|
||||
if (this.latestGitCommit !== response['git-commit']) {
|
||||
if (this.latestGitCommit !== response.backendInfo.gitCommit) {
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, Math.floor(Math.random() * 60000) + 60000);
|
||||
@@ -283,7 +283,7 @@ export class WebsocketService {
|
||||
}
|
||||
|
||||
if (response['git-commit']) {
|
||||
this.stateService.gitCommit$.next(response['git-commit']);
|
||||
this.stateService.backendInfo$.next(response['git-commit']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,11 +15,11 @@ export class Hex2asciiPipe implements PipeTransform {
|
||||
if (!hex) {
|
||||
return '';
|
||||
}
|
||||
let str = '';
|
||||
let bytes: number[] = [];
|
||||
for (let i = 0; i < hex.length; i += 2) {
|
||||
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
|
||||
bytes.push(parseInt(hex.substr(i, 2), 16));
|
||||
}
|
||||
return str;
|
||||
return new TextDecoder('utf8').decode(Uint8Array.from(bytes));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
<title>mempool - Bitcoin Explorer</title>
|
||||
<base href="/">
|
||||
|
||||
<meta name="description" content="An open-source mempool visualizer and blockchain explorer for Bitcoin. Features real-time updates and live transaction tracking." />
|
||||
<meta property="og:image" content="https://mempool.space/resources/mempool-preview.png?20201101" />
|
||||
<meta name="description" content="An open-source explorer developed for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem." />
|
||||
<meta property="og:image" content="https://mempool.space/resources/mempool-space-preview.png" />
|
||||
<meta property="og:image:type" content="image/png" />
|
||||
<meta property="og:image:width" content="1000" />
|
||||
<meta property="og:image:height" content="500" />
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
<meta property="twitter:site" content="mempoolspace">
|
||||
<meta property="twitter:creator" content="mempoolspace">
|
||||
<meta property="twitter:title" content="mempool - Bitcoin block explorer">
|
||||
<meta property="twitter:description" content="An open-source mempool visualizer and blockchain explorer for Bitcoin." />
|
||||
<meta property="twitter:image:src" content="https://mempool.space/resources/mempool-preview.png?20201101" />
|
||||
<meta property="twitter:site" content="@mempool">
|
||||
<meta property="twitter:creator" content="@mempool">
|
||||
<meta property="twitter:title" content="mempool">
|
||||
<meta property="twitter:description" content="An open-source explorer developed for the Bitcoin community, focusing on the transition into a multi-layer ecosystem." />
|
||||
<meta property="twitter:image:src" content="https://mempool.space/resources/mempool-space-preview.png" />
|
||||
<meta property="twitter:domain" content="mempool.space">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/resources/favicons/apple-touch-icon.png">
|
||||
@@ -40,7 +40,7 @@
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//stats.wiz.biz/";
|
||||
var u="//stats.mempool.space/";
|
||||
_paq.push(['setTrackerUrl', u+'m.php']);
|
||||
_paq.push(['setSiteId', '5']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
|
||||
@@ -1009,11 +1009,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1068,7 +1068,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1118,7 +1118,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1131,7 +1131,7 @@
|
||||
<target>حول</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1162,7 +1162,7 @@
|
||||
<target>شبكات الطبقة ٢</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1171,7 +1171,7 @@
|
||||
<target>احصائيات</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1180,7 +1180,7 @@
|
||||
<target>لوحة التحكم</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1189,7 +1189,7 @@
|
||||
<target>الرسوم البيانية</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1202,7 +1202,7 @@
|
||||
<target>وضع التلفزيون</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1215,7 +1215,7 @@
|
||||
<target>الأصول</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1223,56 +1223,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>نبذه عن المشروع</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>يهدف مشروع mempool المفتوح المصدر إلى صنع مستعرض عالي الجودة وبشكل صوري لنظام Bitcoin بأكمله، دون تشتيت الانتباه لأشياء مثل الـ altcoins أو وضع اعلانات أو متتبعات طرف ثالث.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>فريق الصيانة</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>تطوير</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>العمليات</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>الرعاة ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1281,7 +1251,7 @@
|
||||
<target>كن راعياً ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1290,16 +1260,40 @@
|
||||
<target>طلب الفاتوره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>شروط الخدمة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1317,7 +1311,7 @@
|
||||
<target>انتقل إلى <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> للاعلان</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1326,7 +1320,7 @@
|
||||
<target>المبلغ المطلوب</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1335,7 +1329,7 @@
|
||||
<target>الحد الأدنى هو 0.001 بتكوين</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1344,7 +1338,7 @@
|
||||
<target>إذا تبرعت بمبلغ 0.01 بتكوين أو أكثر ، فستتم إضافة صورة ملفك الشخصي إلى قائمة الرعاة أعلاه :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1353,7 +1347,7 @@
|
||||
<target>في إنتظار التحويلات</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1362,7 +1356,7 @@
|
||||
<target>تم تأكيد التبرع!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1371,7 +1365,7 @@
|
||||
<target>شكراً لك!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>O projektu</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Sítě 2. vrstvy</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Statistiky</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Rozcestník</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Grafy</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>TV pohled</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Aktiva</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>O projektu</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Cílem open-source mempool projektu je implementace vysoce kvalitního průzkumného a vizualizačního webu pro celý bitcoinový ekosystém, bez rušivých prvků, jako jsou altcoiny, reklama nebo sledovače třetích stran.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Správci</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Vývoj</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Obsluha</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponzoři ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Staňte se sponzorem ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Vyžádat si fakturu</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Podmínky služby</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Přejít na <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> na sponzory</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Požadovaná částka</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Minimální částka je 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Pokud darujete 0,01 BTC nebo více, vaše profilová fotka bude přidána do seznamu sponzorů výše :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Čekání na transakci...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Dar potvrzen!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Děkujeme!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Über</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Layer 2-Netzwerke</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Statistiken</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Dashboard</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Grafiken</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>TV-Ansicht</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Vermögenswerte</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Über das Projekt</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Das Open-Source-Projekt von mempool zielt darauf ab, eine qualitativ hochwertige Explorer- und Visualisierungswebsite für das gesamte Bitcoin-Ökosystem zu implementieren, ohne Ablenkungen durch Altcoins, Werbung oder Tracker von Drittanbietern.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Maintainer</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Entwicklung</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Betrieb</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsoren ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Werde ein Sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Rechnung anfordern</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Nutzungsbedingungen</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Um ein Sponsor zu werden, navigieren Sie zu <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Mindestbetrag</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Der Mindestbetrag beträgt 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Wenn Sie 0,01 BTC oder mehr spenden, wird Ihr Profilfoto zur Liste der Sponsoren oben hinzugefügt :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Warten auf die Transaktion ...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Spende bestätigt!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Vielen Dank!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -939,11 +939,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -995,7 +995,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1043,7 +1043,7 @@
|
||||
<source>API</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1055,7 +1055,7 @@
|
||||
<source>About</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1083,7 +1083,7 @@
|
||||
<source>Layer 2 Networks</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1091,7 +1091,7 @@
|
||||
<source>Stats</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1099,7 +1099,7 @@
|
||||
<source>Dashboard</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1107,7 +1107,7 @@
|
||||
<source>Graphs</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1119,7 +1119,7 @@
|
||||
<source>TV view</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1131,7 +1131,7 @@
|
||||
<source>Assets</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1139,50 +1139,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1190,7 +1166,7 @@
|
||||
<source>Become a sponsor ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1198,15 +1174,39 @@
|
||||
<source>Request invoice</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1223,7 +1223,7 @@
|
||||
<source>Navigate to <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> to sponsor</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1231,7 +1231,7 @@
|
||||
<source>Amount required</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1239,7 +1239,7 @@
|
||||
<source>Minimum amount is 0.001 BTC</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1247,7 +1247,7 @@
|
||||
<source>If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1255,7 +1255,7 @@
|
||||
<source>Waiting for transaction... </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1263,7 +1263,7 @@
|
||||
<source>Donation confirmed!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1271,7 +1271,7 @@
|
||||
<source>Thank you!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Sobre nosotros</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Redes de segunda capa</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Estadísticas</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Dashboard</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Gráficos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>Vista de TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Activos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Sobre el proyecto</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Mempool es un proyecto de código abierto cuyo objetivo es proporcionar una web donde explorar y visualizar todo el ecosistema de Bitcoin de la mejor forma posible, sin distracciones como altcoins, publicidad o rastreadores de terceros.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Mantenedores</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Desarrollo</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operaciones</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Patrocinadores ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Sé patrocinador ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Solicitar factura</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Términos de servicio</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Vaya a <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> para patrocinarnos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Cantidad requerida</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>La cantidad mínima es 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Si donas 0.01 BTC o más, tu foto de perfil aparecerá en la lista de patrocinadores que puedes ver aquí arriba :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Cargando transacción...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>¡Donación confirmada!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>¡Gracias!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1125,7 +1125,7 @@
|
||||
<target>رابط برنامهنویسی نرمافزار (API)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1138,7 +1138,7 @@
|
||||
<target>درباره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1169,7 +1169,7 @@
|
||||
<target>شبکههای لایه 2</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1178,7 +1178,7 @@
|
||||
<target>آمار</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1187,7 +1187,7 @@
|
||||
<target>داشبورد</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<target>گرافها</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1209,7 +1209,7 @@
|
||||
<target>نمایش تلویزیونی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1222,7 +1222,7 @@
|
||||
<target>داراییها</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1230,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>درباره پروژه</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>پروژه متنباز ممپول یک کاوشگر باکیفیت و سایت بصریساز برای همه زیستبوم بیتکوین است و کاربر را درگیر حواسپرتیهایی مثل آلتکوینها، تبلیغات و جاسوسافزارها نمیکند.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>توسعهدهندهها</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>توسعهدهنده</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>امور عملیاتی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>حامیان ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1288,7 +1258,7 @@
|
||||
<target>حامی شوید ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1297,16 +1267,40 @@
|
||||
<target>درخواست فاکتور</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>شرایط خدمات</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1324,7 +1318,7 @@
|
||||
<target>برای حامی شدن به اینجا برو <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1333,7 +1327,7 @@
|
||||
<target>مبلغ مورد نیاز است</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1342,7 +1336,7 @@
|
||||
<target>حداقل مبلغ 0.001 بیتکوین است</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1351,7 +1345,7 @@
|
||||
<target>اگر 0.01 بیتکوین یا بیشتر اهدا کنید، تصویر شما به لیست حامیان بالا اضافه میشود :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1360,7 +1354,7 @@
|
||||
<target>منتظر تراکنش...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1369,7 +1363,7 @@
|
||||
<target>اهدا هدیه تایید شد!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1378,7 +1372,7 @@
|
||||
<target>ممنون!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1125,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1138,7 +1138,7 @@
|
||||
<target>Tietoja</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1169,7 +1169,7 @@
|
||||
<target>Toisen kerroksen verkot</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1178,7 +1178,7 @@
|
||||
<target>Tilastot</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1187,7 +1187,7 @@
|
||||
<target>Kojelauta</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<target>Kaaviot</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1209,7 +1209,7 @@
|
||||
<target>TV näkymä</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1222,7 +1222,7 @@
|
||||
<target>Omaisuuserät</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1230,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Tietoja projektista</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Mempool avoimen lähdekoodin projektissa tarkoituksena on toteuttaa korkealaatuinen tutkimus- ja visualisointisivusto koko Bitcoin-ekosysteemille ilman häiriötekijöitä, kuten altcoineja, mainontaa tai kolmannen osapuolen seurantalaitteita.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Ylläpitäjät</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Kehitys</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Toiminnot</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsorit ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1288,7 +1258,7 @@
|
||||
<target>Ryhdy sponsoriksi ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1297,16 +1267,40 @@
|
||||
<target>Pyydä lasku</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Käyttöehdot</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1324,7 +1318,7 @@
|
||||
<target>Sponsoroidaksesi navigoi osoitteeseen <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1333,7 +1327,7 @@
|
||||
<target>Vaadittu määrä</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1342,7 +1336,7 @@
|
||||
<target>Vähimmäismäärä on 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1351,7 +1345,7 @@
|
||||
<target>Jos lahjoitat 0,01 BTC tai enemmän, profiilikuvasi lisätään yllä olevaan sponsoriluetteloon :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1360,7 +1354,7 @@
|
||||
<target>Odotetaan siirtotapahtumaa...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1369,7 +1363,7 @@
|
||||
<target>Lahjoitus vahvistettu!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1378,7 +1372,7 @@
|
||||
<target>Kiitos!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>A propos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Réseaux de couche 2</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Statistiques</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Tableau de bord</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Graphiques</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>Vue TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Actifs</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>À propos du projet</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Le projet open-source mempool vise à implémenter un explorateur de haute qualité pour l'entièreté de l'éco-système Bitcoin, sans distraction telles que les altcoins, les publicités, ou les traqueurs tiers.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Mainteneurs</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Développement</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Opérations</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsors ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Devenir sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Demander une facture</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Conditions d'utilisation</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Aller à <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>pour sponsoriser </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Montant requis</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Le montant minimum est de 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Si vous donnez 0,01 BTC ou plus, votre photo de profil sera ajoutée à la liste des sponsors ci-dessus :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>En attente de la transaction...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Don confirmé!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Merci!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
2953
frontend/src/locale/messages.he.xlf
Normal file
2953
frontend/src/locale/messages.he.xlf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -956,11 +956,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1012,7 +1012,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1060,7 +1060,7 @@
|
||||
<source>API</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1072,7 +1072,7 @@
|
||||
<source>About</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1100,7 +1100,7 @@
|
||||
<source>Layer 2 Networks</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1108,7 +1108,7 @@
|
||||
<source>Stats</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1116,7 +1116,7 @@
|
||||
<source>Dashboard</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1124,7 +1124,7 @@
|
||||
<source>Graphs</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<source>TV view</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1148,7 +1148,7 @@
|
||||
<source>Assets</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1156,50 +1156,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1207,7 +1183,7 @@
|
||||
<source>Become a sponsor ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1215,15 +1191,39 @@
|
||||
<source>Request invoice</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1240,7 +1240,7 @@
|
||||
<source>Navigate to <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> to sponsor</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1248,7 +1248,7 @@
|
||||
<source>Amount required</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1256,7 +1256,7 @@
|
||||
<source>Minimum amount is 0.001 BTC</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1264,7 +1264,7 @@
|
||||
<source>If you donate 0.01 BTC or more, your profile photo will be added to the list of sponsors above :)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1272,7 +1272,7 @@
|
||||
<source>Waiting for transaction... </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1280,7 +1280,7 @@
|
||||
<source>Donation confirmed!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1288,7 +1288,7 @@
|
||||
<source>Thank you!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1125,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1138,7 +1138,7 @@
|
||||
<target>Részletek</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1169,7 +1169,7 @@
|
||||
<target>Második Réteg Hálózatok</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1178,7 +1178,7 @@
|
||||
<target>Adatok</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1187,7 +1187,7 @@
|
||||
<target>Irányítópult</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<target>Grafikon</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1209,7 +1209,7 @@
|
||||
<target>TV nézet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1222,7 +1222,7 @@
|
||||
<target>Assetok</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1230,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Bővebben a projektről</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>A mempool egy nyílt fórráskódú projekt amelyel azt szeretnénk elérni, hogy kimagasló minőségű keresőt és vizualizációs webhelyet tartsunk fenn a teljes bitcoin ökoszitéma számára annélkül hogy figyelemelterelő szarpénzek, idegesítő hirdetések vagy más harmadik fél általi nyomkövetőket használnánk ehhez. </target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Fenntartók</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Fejlesztés</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operáció</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Támogatóink ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1288,7 +1258,7 @@
|
||||
<target>Legyél te is támogatónk! ❤️ </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1297,16 +1267,40 @@
|
||||
<target>Számla kérése</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Általános Szolgáltatási Feltételek</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1324,7 +1318,7 @@
|
||||
<target>Navigálj a <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>-ra hogy támogasd a projektet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1333,7 +1327,7 @@
|
||||
<target>Összeg szükséges</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1342,7 +1336,7 @@
|
||||
<target>A minimum mennyiség 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1351,7 +1345,7 @@
|
||||
<target>Ha 0.01 BTC-t vagy többet adományozol, akkor a profilkéedet a támogatól listáján feltüntetjük :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1360,7 +1354,7 @@
|
||||
<target>Tranzakcióra vár...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1369,7 +1363,7 @@
|
||||
<target>Adomány megerősítve!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1378,7 +1372,7 @@
|
||||
<target>Köszönjük! ❤️ </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1104,6 +1104,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="31c09dcc0ab351767631539b208d5f7de4005473">
|
||||
<source>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></source>
|
||||
<target>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">11</context>
|
||||
@@ -1112,6 +1113,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="696ade981a05c12e10df38ba6218c76e318813b3">
|
||||
<source>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></source>
|
||||
<target>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">17</context>
|
||||
@@ -1123,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1138,7 @@
|
||||
<target>Su di noi</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1169,7 @@
|
||||
<target>Reti Layer 2</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1178,7 @@
|
||||
<target>Statistiche</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1187,7 @@
|
||||
<target>Dashboard</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1196,7 @@
|
||||
<target>Grafici</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1209,7 @@
|
||||
<target>Vista TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1217,10 +1219,10 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="ee8f8008bae6ce3a49840c4e1d39b4af23d4c263">
|
||||
<source>Assets</source>
|
||||
<target>Attivi</target>
|
||||
<target>Assets</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Sul progetto</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Il progetto open-source mempool vuole sviluppare un explorer di alta qualità per l'intero ecosistema del Bitcoin, senza distrazioni come altcoins, pubblicità e tracker esterni.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Manutentori</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Sviluppo</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operazioni</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsors ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1258,7 @@
|
||||
<target>Diventa uno sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1267,40 @@
|
||||
<target>Richiedi una fattura</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Condizioni d'uso</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1318,7 @@
|
||||
<target>Visitate <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> per sponsorizzare</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1327,7 @@
|
||||
<target>Importo richiesto</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1336,7 @@
|
||||
<target>L'importo minimo è di 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1345,7 @@
|
||||
<target>Se doni almeno 0.01 BTC la tua foto di profilo sarà aggiunta alla lista degli sponsors qui sopra :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1354,7 @@
|
||||
<target>In attesa della transazione...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1363,7 @@
|
||||
<target>Donazione confermata!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1372,7 @@
|
||||
<target>Grazie!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
@@ -2709,7 +2705,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="time-since.mins.ago">
|
||||
<source><x equiv-text="counter" id="INTERPOLATION"/> mins ago</source>
|
||||
<target><x equiv-text="counter" id="INTERPOLATION"/> mins fa</target>
|
||||
<target><x equiv-text="counter" id="INTERPOLATION"/> min fa</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/time-since/time-since.component.ts</context>
|
||||
<context context-type="linenumber">90</context>
|
||||
@@ -2725,7 +2721,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="time-since.secs.ago">
|
||||
<source><x equiv-text="counter" id="INTERPOLATION"/> secs ago</source>
|
||||
<target><x equiv-text="counter" id="INTERPOLATION"/> secs fa</target>
|
||||
<target><x equiv-text="counter" id="INTERPOLATION"/> sec fa</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/time-since/time-since.component.ts</context>
|
||||
<context context-type="linenumber">95</context>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>このアプリについて</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>レイヤー2のネットワーク</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>統計</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>ダッシュボード</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>グラフ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>テレビ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>資産</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>プロジェクトについて</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>mempoolオープンソースプロジェクトは、アルトコイン、広告、サードパーティのトラッカーなどの気が散るものなく、ビットコインエコシステム全体に高品質のエクスプローラーと視覚化Webサイトを実装することを目的としています。</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>メンテナー</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>開発</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>オペレーション</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>スポンサー❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>スポンサーになる❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>請求書を依頼する</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>利用規約</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>スポンサーになるには、<x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>に移動します。</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>必要な金額</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>最小額は0.001BTCです</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>0.01 BTC以上を寄付すると、プロフィール写真が上記のスポンサーリストに追加されます:)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>トランザクションを待ち...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>寄付が確定しました!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>ありがとうございました!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1003,11 +1003,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1062,7 +1062,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1112,7 +1112,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1125,7 +1125,7 @@
|
||||
<target>ჩვენს შესახებ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1156,7 +1156,7 @@
|
||||
<target>ქსელის 2-ე ფენა</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1165,7 +1165,7 @@
|
||||
<target>სტატისტიკა</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1174,7 +1174,7 @@
|
||||
<target>დაფა</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1183,7 +1183,7 @@
|
||||
<target>დიაგრამები</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<target>სატელევიზიო ხედვა</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1209,7 +1209,7 @@
|
||||
<target>აქტივები</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1217,56 +1217,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>პროექტის შესახებ</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>mempool open-source პროექტია, რომლის მიზანია მაღალი ხარისხის ექსპლორერის შექმნა და ბლოქჩეინის ვიზუალიზაცია ბიტკოინ ეკოსისტემისთვის, შემაწუხებელი ალტკოინების, რეკლამის, და third-party ტრეკერების გარეშე</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>შემნახველები</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>დეველოპერი</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>ოპერაცია</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>სპონსორები ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1275,7 +1245,7 @@
|
||||
<target>გახდი სპონსორი ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1284,16 +1254,40 @@
|
||||
<target>მოითხოვეთ ინვოისი</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Მომსახურების პირობები</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1311,7 +1305,7 @@
|
||||
<target>სპონსორობისთვის გადადით <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>- ზე</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1320,7 +1314,7 @@
|
||||
<target>საჭირო თანხა</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1329,7 +1323,7 @@
|
||||
<target>მინიმალური თანხაა 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1338,7 +1332,7 @@
|
||||
<target>თუ თქვენ გადარიცხავთ 0.01 BTC ან მეტს, თქვენი პროფილი დაემატება სპონსორების სიას :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1347,7 +1341,7 @@
|
||||
<target>ტრანსაქციის მოლოდინში...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1356,7 +1350,7 @@
|
||||
<target>გადარიცხვა დადასტურებულია!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1365,7 +1359,7 @@
|
||||
<target>დიდი მადლობა!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1011,11 +1011,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1070,7 +1070,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1119,7 +1119,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1132,7 +1132,7 @@
|
||||
<target>대하여</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1163,7 +1163,7 @@
|
||||
<target>레이어 2 네트워크들</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1172,7 +1172,7 @@
|
||||
<target>통계</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1181,7 +1181,7 @@
|
||||
<target>대시보드</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1190,7 +1190,7 @@
|
||||
<target>그래프</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1203,7 +1203,7 @@
|
||||
<target>TV 뷰</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1216,7 +1216,7 @@
|
||||
<target>자산</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1224,56 +1224,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>프로젝트에 대하여</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>mempool은 오픈소스 프로젝트이며 비트코인 생태계에 고품질 탐색기와 시각화 웹사이트의 제공을 목표로 두고 있습니다. 알트코인, 광고 또는 웹트래킹 같이 불필요한 요소는 일절 포함하지 않습니다.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>메인테이너들</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>개발</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>운영</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>후원 ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1282,7 +1252,7 @@
|
||||
<target>후원하기 ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1291,16 +1261,40 @@
|
||||
<target>인보이스 요청하기</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>이용약관</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1318,7 +1312,7 @@
|
||||
<target>후원은 <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>에서 하실 수 있습니다</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1327,7 +1321,7 @@
|
||||
<target>필요한 금액</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1336,7 +1330,7 @@
|
||||
<target>최소 금액은 0.001 BTC입니다</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1345,7 +1339,7 @@
|
||||
<target>0.01BTC 이상을 기부하시면 위의 후원 목록에 프로필 사진이 추가됩니다. :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1354,7 +1348,7 @@
|
||||
<target>트랜잭션을 기다리는 중...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1363,7 +1357,7 @@
|
||||
<target>후원이 완료되었습니다!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1372,7 +1366,7 @@
|
||||
<target>감사합니다!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1104,6 +1104,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="31c09dcc0ab351767631539b208d5f7de4005473">
|
||||
<source>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></source>
|
||||
<target>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">11</context>
|
||||
@@ -1112,6 +1113,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="696ade981a05c12e10df38ba6218c76e318813b3">
|
||||
<source>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></source>
|
||||
<target>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">17</context>
|
||||
@@ -1123,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1138,7 @@
|
||||
<target>Om</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1169,7 @@
|
||||
<target>Lag 2-nettverk</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1178,7 @@
|
||||
<target>Statistikk</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1187,7 @@
|
||||
<target>Dashbord</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1196,7 @@
|
||||
<target>Grafer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1209,7 @@
|
||||
<target>TV-modus</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1222,7 @@
|
||||
<target>Ressurser</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Om prosjektet</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Mempool er et åpen-kildekode prosjekt som prøver å implementere en utforsker og visualiserings webside av høy kvalitet for hele Bitcoin økosystemet, uten distraksjoner som altcoins, reklame eller tredjeparts trackere.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Vedlikeholdere</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Utvikling</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operasjoner</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsorer ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1258,7 @@
|
||||
<target>Bli en sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1267,40 @@
|
||||
<target>Be om faktura</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Bruksvilkår</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1318,7 @@
|
||||
<target>Gå til <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> for å sponse</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1327,7 @@
|
||||
<target>Beløp som kreves</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1336,7 @@
|
||||
<target>Minimum beløp er 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1345,7 @@
|
||||
<target>Hvis du donerer 0.01 BTC eller mer, så blir ditt profilbilde lagt til i listen av sponsorer ovenfor :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1354,7 @@
|
||||
<target>Venter på transaksjon...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1363,7 @@
|
||||
<target>Donasjon bekreftet!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1372,7 @@
|
||||
<target>Tusen takk!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Over</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Laag-2-netwerken</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Statistieken</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Dashboard</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Grafieken</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>TV-weergave</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Activa</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Over het project</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Het (open source) mempool project heeft als doel om een hoge kwaliteit explorer en visaulisatie te bieden voor het gehele Bitcoin-ecosysteem, zonder afleidingen als altcoins, reclame of trackers.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Onderhouders</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Ontwikkeling</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operationeel</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsoren ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Wordt een sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Verzoek factuur</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Servicevoorwaarden</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Navigeer naar <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> om te sponsoren</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Bedrag vereist</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Minimumbedrag is 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Als je 0.01 BTC of meer doneert, wordt je profielfoto aan de bovenstaande lijst van sponsoren toegevoegd :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Wachten op transactie...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Donatie bevestigd!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Bedankt!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1010,11 +1010,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1069,7 +1069,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1119,7 +1119,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1132,7 +1132,7 @@
|
||||
<target>O stronie</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1163,7 +1163,7 @@
|
||||
<target>Sieci Warstwy 2</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1172,7 +1172,7 @@
|
||||
<target>Statystyki</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1181,7 +1181,7 @@
|
||||
<target>Dashboard</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1190,7 +1190,7 @@
|
||||
<target>Wykresy</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1203,7 +1203,7 @@
|
||||
<target>Widok TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1216,7 +1216,7 @@
|
||||
<target>Zasoby</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1224,55 +1224,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>O projekcie</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Opiekunowie</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Rozwój</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operacje</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsorzy ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1281,7 +1252,7 @@
|
||||
<target>Zostań sponsorem ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1290,16 +1261,40 @@
|
||||
<target>Poproś o fakturę</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Warunki korzystania z usługi</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1316,7 +1311,7 @@
|
||||
<source>Navigate to <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> to sponsor</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1325,7 +1320,7 @@
|
||||
<target>Wymagana ilość</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1334,7 +1329,7 @@
|
||||
<target>Minimalna ilość to 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1343,7 +1338,7 @@
|
||||
<target>Jeśli przekażesz 0.01 BTC lub więcej, Twoje zdjęcie profilowe zostanie dodane do listy sponsorów powyżej :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1352,7 +1347,7 @@
|
||||
<target>Oczekiwanie na transakcje...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1361,7 +1356,7 @@
|
||||
<target>Darowizna potwierdzona!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1370,7 +1365,7 @@
|
||||
<target>Dziękujemy!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Sobre</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Rede 2ª Camada</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Estatísticas</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Painel de controle</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Gráficos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>Visualização da TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Ativos</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Sobre o projeto</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>O projeto de código aberto mempool visa implementar um explorador de alta qualidade e um site de visualização para todo o ecossistema Bitcoin, sem distrações como altcoins, publicidade ou rastreadores de terceiros.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Mantenedores</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Desenvolvimento</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operação</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Patrocinadores ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Seja um patrocinador ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Solicitação de Pagamento</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Termos de Serviço</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Acesse <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> para patrocinar</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Quantidade necessária</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Quantidade mínima é 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Se você doar 0,01 BTC ou mais, sua foto de perfil será adicionada na lista de patrocinadores acima :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Aguardando transação...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Doação confirmada!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Obrigado!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1125,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1138,7 +1138,7 @@
|
||||
<target>O projektu</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1169,7 +1169,7 @@
|
||||
<target>Omrežja 2. plasti</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1178,7 +1178,7 @@
|
||||
<target>Statistika</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1187,7 +1187,7 @@
|
||||
<target>Pregledna plošča</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1196,7 +1196,7 @@
|
||||
<target>Grafi</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1209,7 +1209,7 @@
|
||||
<target>TV pogled</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1222,7 +1222,7 @@
|
||||
<target>Sredstva</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1230,56 +1230,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>O projektu</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Cilj odprtokodnega projekta mempool, je ustvariti visokokakovostno spletno mesto za raziskovanje in vizualizacijo celotnega Bitcoin ekosistema, brez motečih vsebin, kot so alternativne kriptovalute, oglaševanje ali sledilci tretjih ponudnikov.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Vzdrževalci</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Razvoj</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operacije</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponzorji ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1288,7 +1258,7 @@
|
||||
<target>Postanite sponzor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1297,16 +1267,40 @@
|
||||
<target>Ustvari račun</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Pogoji storitve</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1324,7 +1318,7 @@
|
||||
<target>Pojdite na <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> za sponzorstvo.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1333,7 +1327,7 @@
|
||||
<target>Znesek je zahtevan</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1342,7 +1336,7 @@
|
||||
<target>Najmanjši znesek je 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1351,7 +1345,7 @@
|
||||
<target>Če prispevate 0.01 BTC ali več, bo vaša fotografija profila dodana na zgornji seznam sponzorjev :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1360,7 +1354,7 @@
|
||||
<target>Čakanje na transakcijo... </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1369,7 +1363,7 @@
|
||||
<target>Prispevek potrjen!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1378,7 +1372,7 @@
|
||||
<target>Hvala vam!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1104,6 +1104,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="31c09dcc0ab351767631539b208d5f7de4005473">
|
||||
<source>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></source>
|
||||
<target>Lightning <x equiv-text="{{ lightning }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">11</context>
|
||||
@@ -1112,6 +1113,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="696ade981a05c12e10df38ba6218c76e318813b3">
|
||||
<source>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></source>
|
||||
<target>Liquid <x equiv-text="{{ liquid }}" id="INTERPOLATION"/></target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/address-labels/address-labels.component.html</context>
|
||||
<context context-type="linenumber">17</context>
|
||||
@@ -1123,7 +1125,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1138,7 @@
|
||||
<target>Om</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1169,7 @@
|
||||
<target>Lager 2-nätverk</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1178,7 @@
|
||||
<target>Stats</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1187,7 @@
|
||||
<target>Instrumentbräda</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1196,7 @@
|
||||
<target>Grafer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1209,7 @@
|
||||
<target>TV-vy</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1222,7 @@
|
||||
<target>Assets</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1230,29 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Om projektet</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<target>Open Source-projektet Mempool</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Öppen källkodsprojektet Mempool har som mål att implementera en högkvalitativ utforskare och visualiserare för hela Bitcoins ekosystem, utan distraktioner som altcoins, reklam eller tredjepartsspårare.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<target>En utforskare och API som utvecklas och drivs för Bitcoin-communityt, med fokus på den nya marknaden för transaktionsavgifter för att hjälpa vår övergång till ett ekosystem i flera lager, utan annonser, altcoins eller tredjepartsspårare.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Ansvariga</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<target>Communitysponsorer ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Utveckling</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Drift</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsorer ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1261,7 @@
|
||||
<target>Bli sponsor ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1270,43 @@
|
||||
<target>Begär faktura</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<target>Communityintegrationer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<target>Communityallianser</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<target>Projektunderhållare</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Användarvillkor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1324,7 @@
|
||||
<target>Navigera till <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> för att sponsra</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1333,7 @@
|
||||
<target>Belopp som krävs</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1342,7 @@
|
||||
<target>Lägsta belopp är 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1351,7 @@
|
||||
<target>Om du donerar 0,01 BTC eller mer läggs din profilbild till i listan över sponsorer ovan :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1360,7 @@
|
||||
<target>Väntar på transaktion... </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1369,7 @@
|
||||
<target>Donation bekräftad!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1378,7 @@
|
||||
<target>Tack!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Hakkında</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>2. Katman Ağlar</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Stat</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Panel</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Grafikler</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>TV görünümü</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Varlıklar</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Proje hakkında</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Açık kaynak kodlu mempool projemiz ile Bitcoin ekosistemi tarafından tercih edildiği şekilde altcoinler, reklam ve 3. parti takipçiler olmayan, görsel olarak zengin bir blok gezgini yaratıyoruz. </target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Kahramanlar </target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Geliştirici</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Operasyonlar</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Sponsorlar ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Sponsor olun ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Fatura isteyin</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Hizmet Koşulları</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Sponsorluk hakkındaya <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> yönlendir.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Gereken miktar</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Minimum izin verilen miktar 0.001 BTC'dir.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>0.01 BTC veya üstünde bağış yaparsanız, profil resminiz yukarıdaki listeye eklenecektir :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>İşlem bekleniyor...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Bağış onaylandı!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Teşekkürler!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1014,11 +1014,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1123,7 +1123,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<target>Про</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<target>Мережі 2 шару</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1176,7 +1176,7 @@
|
||||
<target>Статистика</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1185,7 +1185,7 @@
|
||||
<target>Панель</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1194,7 +1194,7 @@
|
||||
<target>Графіки</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1207,7 +1207,7 @@
|
||||
<target>TV перегляд</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<target>Активи</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1228,56 +1228,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Про проект</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Mempool це проект з відкритим кодом націлений на створення високоякісного експлореру та сайту з візуалізацією для всієї екосистеми Біткоїна, без відволікаючих фактів на кшталт альткоїнів, реклами чи сторонніх трекерів.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Розробники</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Розробка</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Операції</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Спонсори ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1286,7 +1256,7 @@
|
||||
<target>Стати спонсором ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1295,16 +1265,40 @@
|
||||
<target>Отримати рахунок</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Умови використання</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1322,7 +1316,7 @@
|
||||
<target>Перейдіть до <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/>https://mempool.space/about<x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> щоб спонсорувати</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1331,7 +1325,7 @@
|
||||
<target>Необхідна сума</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1340,7 +1334,7 @@
|
||||
<target>Мінімальна сума 0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1349,7 +1343,7 @@
|
||||
<target>Якщо ви пожертвуєте 0.01 BTC або більше, фото вашого профілю буде додане до списку спонсорів вище :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1358,7 +1352,7 @@
|
||||
<target>Очікуємо на транзакцію...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1367,7 +1361,7 @@
|
||||
<target>Пожертвування підтверджене!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1376,7 +1370,7 @@
|
||||
<target>Дякую вам!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1013,11 +1013,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1072,7 +1072,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1122,7 +1122,7 @@
|
||||
<target>API</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1135,7 +1135,7 @@
|
||||
<target>Về chúng tôi</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1166,7 +1166,7 @@
|
||||
<target>Mạng lớp 2</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1175,7 +1175,7 @@
|
||||
<target>Số liệu</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1184,7 +1184,7 @@
|
||||
<target>bảng điều khiển</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1193,7 +1193,7 @@
|
||||
<target>Đồ thị</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1206,7 +1206,7 @@
|
||||
<target>Giao diện TV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1219,7 +1219,7 @@
|
||||
<target>Tài sản</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1227,56 +1227,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>Về dự án</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Dự án mã nguồn mở mempool hướng đến triển khai một trang web trực quan và chất lượng cao cho toàn bộ hệ sinh thái Bitcoin, không có sự phiền nhiễu khác như altcoin, quảng cáo hoặc trình theo dõi của bên thứ ba.</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>Bảo trì</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>Phát triển</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>Vận hành</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>Nhà tài trợ ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1285,7 +1255,7 @@
|
||||
<target>Trở thành nhà tài trợ ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1294,16 +1264,40 @@
|
||||
<target>Yêu cầu hoá đơn</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>Điều khoản Dịch vụ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1321,7 +1315,7 @@
|
||||
<target>Điều hướng đến <x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/> để tài trợ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1330,7 +1324,7 @@
|
||||
<target>Số lượng yêu cầu</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1339,7 +1333,7 @@
|
||||
<target>Số lượng tối thiểu là 0,001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1348,7 +1342,7 @@
|
||||
<target>Nếu bạn quyên góp từ 0,01 BTC trở lên, ảnh hồ sơ của bạn sẽ được thêm vào danh sách các nhà tài trợ ở trên :)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1357,7 +1351,7 @@
|
||||
<target>Đang chờ giao dịch ...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1366,7 +1360,7 @@
|
||||
<target>Đã xác nhận tài trợ!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1375,7 +1369,7 @@
|
||||
<target>Cảm ơn bạn!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1011,11 +1011,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">34</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">45</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/bisq/bisq-blocks/bisq-blocks.component.ts</context>
|
||||
@@ -1070,7 +1070,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">31</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mempool-block/mempool-block.component.html</context>
|
||||
@@ -1120,7 +1120,7 @@
|
||||
<target>应用程序接口</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">58</context>
|
||||
<context context-type="linenumber">59</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/api-docs/api-docs.component.ts</context>
|
||||
@@ -1133,7 +1133,7 @@
|
||||
<target>关于</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
@@ -1164,7 +1164,7 @@
|
||||
<target>第2层网络</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.layer2-networks-header</note>
|
||||
</trans-unit>
|
||||
@@ -1173,7 +1173,7 @@
|
||||
<target>统计</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">37</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.stats</note>
|
||||
</trans-unit>
|
||||
@@ -1182,7 +1182,7 @@
|
||||
<target>仪表板</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
<context context-type="linenumber">43</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.dashboard</note>
|
||||
</trans-unit>
|
||||
@@ -1191,7 +1191,7 @@
|
||||
<target>图表</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">48</context>
|
||||
<context context-type="linenumber">49</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/statistics/statistics.component.ts</context>
|
||||
@@ -1204,7 +1204,7 @@
|
||||
<target>TV模式</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">51</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/television/television.component.ts</context>
|
||||
@@ -1217,7 +1217,7 @@
|
||||
<target>资产</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/master-page/master-page.component.html</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/assets/assets.component.ts</context>
|
||||
@@ -1225,56 +1225,26 @@
|
||||
</context-group>
|
||||
<note from="description" priority="1">master-page.assets</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="de1392124ed7b6c274917f8049f2fbc9975f20b3">
|
||||
<source>About the project</source>
|
||||
<target>项目介绍</target>
|
||||
<trans-unit datatype="html" id="4b137ec8bf73a47063740b75c0c40d5fd3c48015">
|
||||
<source>The Mempool Open Source Project</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.about-the-project</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="489827bef9fd30645fd2a217aea141ac43bd01ef">
|
||||
<source>The mempool open-source project aims to implement a high quality explorer and visualization website for the entire Bitcoin ecosystem, without distractions like altcoins, advertising, or third-party trackers.</source>
|
||||
<target>Mempool开源项目旨在为整个比特币生态系统搭建一个高质量、可视化,但不会像其他加密货币、广告或第三方中介这些分散注意力的网站。</target>
|
||||
<trans-unit datatype="html" id="35183d36272d152e9b838a42bafbe6526a55f7ee">
|
||||
<source>An explorer and API developed and operated for the Bitcoin community, focusing on the emerging transaction fee market to help our transition into a multi-layer ecosystem, without ads, altcoins, or third-party trackers.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="def6d893b4c04ddb5f3aa01c150d587059738282">
|
||||
<source>Maintainers</source>
|
||||
<target>维护人员</target>
|
||||
<trans-unit datatype="html" id="a46e9bc519dc1c320d48635e924d444364845ca8">
|
||||
<source>Community Sponsors ❤️</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7f3f6a4fb2545cacf800f0623582b6d41d1f8791">
|
||||
<source>Development</source>
|
||||
<target>开发总工程师</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.development</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="7d9b2050c14256d89dfd7260e7fde4c17f77255d">
|
||||
<source>Operations</source>
|
||||
<target>首席运营官</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">40</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.operations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="3f9ef8d00399db6891b99155dfcda3e26da215e8">
|
||||
<source>Sponsors ❤️</source>
|
||||
<target>赞助商❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">47</context>
|
||||
<context context-type="linenumber">46</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1283,7 +1253,7 @@
|
||||
<target>成为赞助商❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">63</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.become-a-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1292,16 +1262,40 @@
|
||||
<target>请求开票</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.request-invoice</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="1405c5f1a9834338ff13442c550927ab7144fdc8">
|
||||
<source>Community Integrations</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">179</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.integrations</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="020cce975a5d7e0cc0f4578903358459d693e4bb">
|
||||
<source>Community Alliances</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">253</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.alliances</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="d177262e3a43b2a7221183812daf0ada97659436">
|
||||
<source>Project Maintainers</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">269</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.maintainers</note>
|
||||
</trans-unit>
|
||||
<trans-unit datatype="html" id="94731fb77c18c6d537337dddc3699f67a0587985">
|
||||
<source>Terms of Service</source>
|
||||
<target>服务条款</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">205</context>
|
||||
<context context-type="linenumber">293</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
|
||||
@@ -1319,7 +1313,7 @@
|
||||
<target>转到<x ctype="x-a" equiv-text="<a href="https://mempool.space/about" target="_blank">" id="START_LINK"/> https://mempool.space/about <x ctype="x-a" equiv-text="</a> " id="CLOSE_LINK"/>成为赞助人</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.navigate-to-sponsor</note>
|
||||
</trans-unit>
|
||||
@@ -1328,7 +1322,7 @@
|
||||
<target>所需金额</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
<context context-type="linenumber">81</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.amount-required</note>
|
||||
</trans-unit>
|
||||
@@ -1337,7 +1331,7 @@
|
||||
<target>最低金额为0.001 BTC</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">83</context>
|
||||
<context context-type="linenumber">82</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.minimum-amount</note>
|
||||
</trans-unit>
|
||||
@@ -1346,7 +1340,7 @@
|
||||
<target>如果您捐赠超过0.01 BTC,您的个人资料与照片将被添加到赞助商列表中:)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
<context context-type="linenumber">91</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.description</note>
|
||||
</trans-unit>
|
||||
@@ -1355,7 +1349,7 @@
|
||||
<target>交易等待中...</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">170</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.waiting-for-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -1364,7 +1358,7 @@
|
||||
<target>确认捐赠!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.donation-confirmed</note>
|
||||
</trans-unit>
|
||||
@@ -1373,7 +1367,7 @@
|
||||
<target>感谢!</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">175</context>
|
||||
<context context-type="linenumber">174</context>
|
||||
</context-group>
|
||||
<note from="description" priority="1">about.sponsor.thank-you</note>
|
||||
</trans-unit>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 2.6 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user