Upload user shared sheet.

This commit is contained in:
StageGuard
2021-01-19 23:05:08 +08:00
parent 745c7f4553
commit 1dedb59383
9 changed files with 1031 additions and 1013 deletions

8
.gitignore vendored
View File

@@ -1,5 +1,5 @@
.vscode/settings.json .vscode/settings.json
.vscode/tasks.json .vscode/tasks.json
rhino.jar rhino.jar
update.sh update.sh
updateSharedSheets.js updateSharedSheets.js

914
LICENSE
View File

@@ -1,458 +1,458 @@
GNU LESSER GENERAL PUBLIC LICENSE GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999 Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc. Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts [This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.] the version number 2.1.]
Preamble Preamble
The licenses for most software are designed to take away your The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users. free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below. strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do it in new free programs; and that you are informed that you can do
these things. these things.
To protect your rights, we need to make restrictions that forbid To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it. you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights. it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library. permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be author's reputation will not be affected by problems that might be
introduced by others. introduced by others.
Finally, software patents pose a constant threat to the existence of Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license. consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those this license for certain libraries in order to permit linking those
libraries into non-free programs. libraries into non-free programs.
When a program is linked with a library, whether statically or using When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with Public License permits more lax criteria for linking other code with
the library. the library.
We call this license the "Lesser" General Public License because it We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain libraries. However, the Lesser license provides advantages in certain
special circumstances. special circumstances.
For example, on rare occasions, there may be a special need to For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License. software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating operating system, as well as its variant, the GNU/Linux operating
system. system.
Although the Lesser General Public License is Less protective of the Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library. that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The "work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must former contains code derived from the library, whereas the latter must
be combined with the library in order to run. be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other 0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License"). this Lesser General Public License (also called "this License").
Each licensee is addressed as "you". Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables. (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".) included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for "Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation interface definition files, plus the scripts used to control compilation
and installation of the library. and installation of the library.
Activities other than copying, distribution and modification are not Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does. and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's 1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the warranty; and distribute a copy of this License along with the
Library. Library.
You may charge a fee for the physical act of transferring a copy, You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a and you may at your option offer warranty protection in exchange for a
fee. fee.
2. You may modify your copy or copies of the Library or any portion 2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1 distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions: above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library. a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change. stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License. charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that, is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of table, the facility still operates, and performs whatever part of
its purpose remains meaningful. its purpose remains meaningful.
(For example, a function in a library to compute square roots has (For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must application-supplied function or table used by this function must
be optional: if the application does not supply it, the square be optional: if the application does not supply it, the square
root function must still compute square roots.) root function must still compute square roots.)
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library, identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote entire whole, and thus to each and every part regardless of who wrote
it. it.
Thus, it is not the intent of this section to claim rights or contest Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or exercise the right to control the distribution of derivative or
collective works based on the Library. collective works based on the Library.
In addition, mere aggregation of another work not based on the Library In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under a storage or distribution medium does not bring the other work under
the scope of this License. the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public 3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2, that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in that version instead if you wish.) Do not make any other change in
these notices. these notices.
Once this change is made in a given copy, it is irreversible for Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy. subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of This option is useful when you wish to copy part of the code of
the Library into a program that is not a library. the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or 4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange. medium customarily used for software interchange.
If distribution of object code is made by offering access to copy If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not distribute the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the 5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License. therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License. library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not. derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law. threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.) Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6. distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6, Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself. whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or 6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse modification of the work for the customer's own use and reverse
engineering for debugging such modifications. engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one directing the user to the copy of this License. Also, you must do one
of these things: of these things:
a) Accompany the work with the complete corresponding a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application Library will not necessarily be able to recompile the application
to use the modified definitions.) to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system, copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2) rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with. interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution. than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above from a designated place, offer equivalent access to copy the above
specified materials from the same place. specified materials from the same place.
e) Verify that the user has already received a copy of these e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy. materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception, reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies which the executable runs, unless that component itself accompanies
the executable. the executable.
It may happen that this requirement contradicts the license It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you use both them and the Library together in an executable that you
distribute. distribute.
7. You may place library facilities that are a work based on the 7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things: permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the facilities. This must be distributed under the terms of the
Sections above. Sections above.
b) Give prominent notice with the combined library of the fact b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work. where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute 8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies, rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance. terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not 9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying all its terms and conditions for copying, distributing or modifying
the Library or works based on it. the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the 10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein. restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with You are not responsible for enforcing compliance by third parties with
this License. this License.
11. If, as a consequence of a court judgment or allegation of patent 11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library. refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply, particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances. and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is integrity of the free software distribution system which is
implemented by public license practices. Many people have made implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot to distribute software through any other system and a licensee cannot
impose that choice. impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in 12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries, an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if excluded. In such case, this License incorporates the limitation as if
written in the body of this License. written in the body of this License.
13. The Free Software Foundation may publish revised and/or new 13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time. versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version, Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns. but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and "any later version", you have the option of following the terms and
conditions either of that version or of any later version published by conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by license version number, you may choose any version ever published by
the Free Software Foundation. the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free 14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these, programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing of all derivatives of our free software and of promoting the sharing
and reuse of software generally. and reuse of software generally.
NO WARRANTY NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS

562
README.md
View File

@@ -1,281 +1,281 @@
# SkyAutoPlayerScript # SkyAutoPlayerScript
使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏[SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio)导出的曲谱 使用Auto.js提供的无障碍权限实现在Sky光遇中自动弹奏[SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio)导出的曲谱
A script to play Sheets generated by SkyStudio automatically in game Sky with accessibility services using Auto.js A script to play Sheets generated by SkyStudio automatically in game Sky with accessibility services using Auto.js
## 特性 / Feature ## 特性 / Feature
相比于其他脚本SkyAutoPlayerScript拥有以下优势 相比于其他脚本SkyAutoPlayerScript拥有以下优势
There are many features in SkyAutoPlayerScript compared to other auto player scripts. There are many features in SkyAutoPlayerScript compared to other auto player scripts.
* 全GUI操作无需编辑任何代码流畅的UI动画。<br>Friendly GUI, no code edit, fluent ui animation. * 全GUI操作无需编辑任何代码流畅的UI动画。<br>Friendly GUI, no code edit, fluent ui animation.
* 多功能的弹奏控制面板,支持**暂停** **进度控制** **倍速控制**等<br>Multi-functional player control panel with **pause**, **progress control** and **speed control**. * 多功能的弹奏控制面板,支持**暂停** **进度控制** **倍速控制**等<br>Multi-functional player control panel with **pause**, **progress control** and **speed control**.
* 通过引导自设定键位坐标,避免按压琴键的偏移问题<br>Set key coordinates by yourself with guidence, avoiding key offset when playing. * 通过引导自设定键位坐标,避免按压琴键的偏移问题<br>Set key coordinates by yourself with guidence, avoiding key offset when playing.
* 在线[共享乐谱](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets),有许多优质乐谱。</br>~~(甚至有的乐谱复杂到根本无法手弹)~~<br>There are many excellent online [shared sheets](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets). * 在线[共享乐谱](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets),有许多优质乐谱。</br>~~(甚至有的乐谱复杂到根本无法手弹)~~<br>There are many excellent online [shared sheets](https://github.com/StageGuard/SkyAutoPlayerScript/tree/master/shared_sheets).
* 自动更新及时修复BUG无需担心版本过时问题。<br>Automatically update script. * 自动更新及时修复BUG无需担心版本过时问题。<br>Automatically update script.
* [多语言支持](#翻译--translation)<br>[Multi-language support](#翻译--translation). * [多语言支持](#翻译--translation)<br>[Multi-language support](#翻译--translation).
* ... * ...
## 使用 / Usage ## 使用 / Usage
①Auto.js `4.1.1 Alpha2 (461)` 版本下载: [`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2) ①Auto.js `4.1.1 Alpha2 (461)` 版本下载: [`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2)
Download `Auto.js`[`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2) Download `Auto.js`[`Ericwyn/Auto.js/releases@V4.1.1.Alpha2`](https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2)
手机请下载 `autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug.apk` 手机请下载 `autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug.apk`
Please download `autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug.apk` Please download `autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug.apk`
②为Auto.js开启**无障碍服务**和**悬浮窗权限**。 ②为Auto.js开启**无障碍服务**和**悬浮窗权限**。
Turn on **Accessibility service** and allow **Display pop-up window** permission for Auto.js Turn on **Accessibility service** and allow **Display pop-up window** permission for Auto.js
③在Auto.js中新建一个脚本并粘贴以下代码并运行 ③在Auto.js中新建一个脚本并粘贴以下代码并运行
Create a new script file in Auto.js. Copy the code below and run! Create a new script file in Auto.js. Copy the code below and run!
```javascript ```javascript
"ui"; "ui";
"use strict"; "use strict";
var emitter = events.emitter(threads.currentThread()); var emitter = events.emitter(threads.currentThread());
threads.start(function() { threads.start(function() {
emitter.emit("evaluate", (function(){ emitter.emit("evaluate", (function(){
var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js"); var resp = http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js");
if(resp.statusCode >= 200 && resp.statusCode < 300) { if(resp.statusCode >= 200 && resp.statusCode < 300) {
return resp.body.string(); return resp.body.string();
} else { } else {
resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js"); resp = http.get("https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript@" + http.get("https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/gitVersion").body.string() + "/source/SkyAutoplayer.js");
if(resp.statusCode >= 200 && resp.statusCode < 300) { if(resp.statusCode >= 200 && resp.statusCode < 300) {
return resp.body.string(); return resp.body.string();
} else { } else {
return "console.show();console.log(\"Failed to load script\")"; return "console.show();console.log(\"Failed to load script\")";
} }
} }
}())); }()));
}); });
emitter.on('evaluate', function(s){ emitter.on('evaluate', function(s){
eval(s); eval(s);
}); });
``` ```
在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,不保证其他版本的兼容性(取决于其他版本相对于此版本的API是否有`breaking changes`) 在Auto.js版本 `4.1.1 Alpha2 (461)` 中测试通过,不保证其他版本的兼容性(取决于其他版本相对于此版本的API是否有`breaking changes`)
## 清除数据 / Clear data ## 清除数据 / Clear data
`SkyAutoPlayerScript` 在使用过程中会产生本地数据存储若想全部删除请使用Auto.js执行以下代码 `SkyAutoPlayerScript` 在使用过程中会产生本地数据存储若想全部删除请使用Auto.js执行以下代码
`SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in Auto.js `SkyAutoPlayerScript` will store data while running, if you want to delete all data, please run the code below in Auto.js
``` ```
storages.remove("StageGuard:SkyAutoPlayer:Config"); storages.remove("StageGuard:SkyAutoPlayer:Config");
files.removeDir("/storage/emulated/0/Documents/SkyAutoPlayer/"); files.removeDir("/storage/emulated/0/Documents/SkyAutoPlayer/");
``` ```
# 上传乐谱 / Upload sheets # 上传乐谱 / Upload sheets
SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在线共享乐谱列表并可以方便地下载和弹奏。 SkyAutoplayerScript 可以从这个仓库中的 `shared_sheets.json` 读取在线共享乐谱列表并可以方便地下载和弹奏。
SkyAutoplayerScript will load online shared sheets from the file `shared_sheets.json` in this repository and it is convenient to download and play. SkyAutoplayerScript will load online shared sheets from the file `shared_sheets.json` in this repository and it is convenient to download and play.
你可以通过以下两种方式的任意一种方式来让你自制或经过原作者授权转载的乐谱在这个列表显示: 你可以通过以下两种方式的任意一种方式来让你自制或经过原作者授权转载的乐谱在这个列表显示:
If you want to let sheets that transcribed by yourself or permitted to reprint shown on the list, you can do one of the following ways: If you want to let sheets that transcribed by yourself or permitted to reprint shown on the list, you can do one of the following ways:
### 1. Pull Request ### 1. Pull Request
你可以克隆这个仓库,将你的乐谱添加到 `shared_sheets` 文件夹中,并按照以下要求在 `shared_sheets.json` 中添加新的项目: 你可以克隆这个仓库,将你的乐谱添加到 `shared_sheets` 文件夹中,并按照以下要求在 `shared_sheets.json` 中添加新的项目:
You can clone this repository, put your sheet file into `shared_sheets` folder and add a new item in `shared_sheets.json` : You can clone this repository, put your sheet file into `shared_sheets` folder and add a new item in `shared_sheets.json` :
```javascript ```javascript
{ {
//乐谱名称 / sheet name //乐谱名称 / sheet name
"name": "Vicetone - Nevada", "name": "Vicetone - Nevada",
//文件名 / sheet file name in shared_sheets folder //文件名 / sheet file name in shared_sheets folder
"file": "Nevada.txt", "file": "Nevada.txt",
//乐谱作者 / transcriber //乐谱作者 / transcriber
"author": "StageGuard", "author": "StageGuard",
//乐谱简介 / short description about this sheet //乐谱简介 / short description about this sheet
"desc": "Nevada SkyStudio钢琴版。\n内包含<u>比较复杂的和弦</u>,不适合手弹(笑\n你可以在SkyStudio的练习模式试试[狗头]", "desc": "Nevada SkyStudio钢琴版。\n内包含<u>比较复杂的和弦</u>,不适合手弹(笑\n你可以在SkyStudio的练习模式试试[狗头]",
//乐谱文件中的BPM / BPM in sheet file //乐谱文件中的BPM / BPM in sheet file
"bpm": 497, "bpm": 497,
//乐谱的键位数目(它是一个 15 键位乐谱还是 8 键位乐谱) //乐谱的键位数目(它是一个 15 键位乐谱还是 8 键位乐谱)
//key count(a 15 key sheet or 8 key sheet) //key count(a 15 key sheet or 8 key sheet)
"keyCount": 15, "keyCount": 15,
//乐谱文件中的音高 / pitch level in sheet file //乐谱文件中的音高 / pitch level in sheet file
"pitchLevel": 3, "pitchLevel": 3,
//键的数目 / note count //键的数目 / note count
//乐谱文件中数组 songNotes 的长度 / length of array songNotes in sheet file //乐谱文件中数组 songNotes 的长度 / length of array songNotes in sheet file
"noteCount": 1308, "noteCount": 1308,
//你的社交链接 / your social link //你的社交链接 / your social link
//你可以添加多个 / you can add many links if you want //你可以添加多个 / you can add many links if you want
"social": [ "social": [
{ {
//社交平台名称代号,现在支持 github, twitter, douyin(tiktok) and coolapk //社交平台名称代号,现在支持 github, twitter, douyin(tiktok) and coolapk
//platform code name, currently support github, twitter, douyin(tiktok) and coolapk //platform code name, currently support github, twitter, douyin(tiktok) and coolapk
"platform": "coolapk", "platform": "coolapk",
//社交平台名称 / social platform name //社交平台名称 / social platform name
"name": "酷安", "name": "酷安",
//社交连接 / social link //社交连接 / social link
"link": "http://www.coolapk.com/u/808787" "link": "http://www.coolapk.com/u/808787"
} }
] ]
}, },
``` ```
修改完成后,申请 `Pull Request` ,等待 merge 即可。 修改完成后,申请 `Pull Request` ,等待 merge 即可。
After finishing, you need to create a new `pull request` and wait it to be merged. After finishing, you need to create a new `pull request` and wait it to be merged.
> 请注意:在申请`Pull Request`之前请确保你本地的 仓库已同步至最新,以免出现意外问题! > 请注意:在申请`Pull Request`之前请确保你本地的 仓库已同步至最新,以免出现意外问题!
> >
> Attention: Before creating a new `pull request` , make sure your local repository is up-to-date! > Attention: Before creating a new `pull request` , make sure your local repository is up-to-date!
### 2. 如果你不是很懂 Github...<br>If you are not familiar with Github... ### 2. 如果你不是很懂 Github...<br>If you are not familiar with Github...
只需要把乐谱发送到邮箱 [beamiscool@qq.com](mailto:beamiscool@qq.com) 来交给我就行啦!别忘了附带乐谱简介! 只需要把乐谱发送到邮箱 [beamiscool@qq.com](mailto:beamiscool@qq.com) 来交给我就行啦!别忘了附带乐谱简介!
Just mail your sheet file to [beamiscool@qq.com](mailto:beamiscool@qq.com) and don't forget the sheet description ! Just mail your sheet file to [beamiscool@qq.com](mailto:beamiscool@qq.com) and don't forget the sheet description !
# 注意! / Attention! # 注意! / Attention!
### 请仔细阅读以下使用须知!<br>Before using this script, you must read the following notes! ### 请仔细阅读以下使用须知!<br>Before using this script, you must read the following notes!
1. 未充分测试若遇到BUG请酷安私信@StageGuard或新建Issue来反馈BUG<br> 1. 未充分测试若遇到BUG请酷安私信@StageGuard或新建Issue来反馈BUG<br>
SkyAutoplayerScript is not fully tested, if you meet a bug, please PM CoolApk@StageGuard or create a new issue. SkyAutoplayerScript is not fully tested, if you meet a bug, please PM CoolApk@StageGuard or create a new issue.
2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**<br> 2. **SkyAutoplayerScript是完全免费且开源的软件/脚本([https://github.com/StageGuard/SkyAutoPlayerScript](https://github.com/StageGuard/SkyAutoPlayerScript)),使用 SkyAutoplayerScript 盈利的同时请标注源项目链接。**<br>
**SkyAutoplayerScript is a free and open source project. If you want to use it for commercial purposes, please add the link refers to this repository.** **SkyAutoplayerScript is a free and open source project. If you want to use it for commercial purposes, please add the link refers to this repository.**
3. **共享乐谱不遵守LGPL-2.1协议如您想在SkyAutoPlayer以外使用这些乐谱请自行找乐谱作者授权**<br> 3. **共享乐谱不遵守LGPL-2.1协议如您想在SkyAutoPlayer以外使用这些乐谱请自行找乐谱作者授权**<br>
**Shared sheets is not under the protection of LGPL-2.1, if you want to reprint shared sheets to other platforms, please contact sheet transcriber by yourself!** **Shared sheets is not under the protection of LGPL-2.1, if you want to reprint shared sheets to other platforms, please contact sheet transcriber by yourself!**
4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思)若因使用本脚本所出现了一些不友好的问题与脚本作者StageGuard无关。<br> 4. 本脚本仅可用作娱乐用途,请不要在正规场合使用本脚本(请自行体会\"正规场合\"是什么意思)若因使用本脚本所出现了一些不友好的问题与脚本作者StageGuard无关。<br>
The script is just for entertainment and it is not suitable to use it in formal occasion. The script is just for entertainment and it is not suitable to use it in formal occasion.
5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。<br> 5. 脚本只能给你一时满足感而不能使你进步,请适当使用,只有真正的技术才是王道,才能使你感到快乐。<br>
Script just gives you a short-time sense of satisfaction and do not make you progress. Script just gives you a short-time sense of satisfaction and do not make you progress.
6. 本脚本只是一个"弹奏机",并不内置曲谱,请在 GooglePlay 下载 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 编谱。<br> 6. 本脚本只是一个"弹奏机",并不内置曲谱,请在 GooglePlay 下载 [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) 编谱。<br>
This script is just a "player" and no built-in sheets, you must download [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) to make sheets. This script is just a "player" and no built-in sheets, you must download [SkyStudio](https://play.google.com/store/apps/details?id=com.Maple.SkyStudio) to make sheets.
7. 本脚本不会增加解密乐谱功能,包括但不限于**加密的SkyStudio乐谱****加密的JS**等,也不接受加密乐谱的共享。<br> 7. 本脚本不会增加解密乐谱功能,包括但不限于**加密的SkyStudio乐谱****加密的JS**等,也不接受加密乐谱的共享。<br>
The script will not support decrypt sheet, including **SkyStudio encryped sheet** or **encrypted js** etc...<br>And the repository will also not accept encrypted sheet. The script will not support decrypt sheet, including **SkyStudio encryped sheet** or **encrypted js** etc...<br>And the repository will also not accept encrypted sheet.
<details> <summary>针对上述第2, 3条出现的问题</summary> <details> <summary>针对上述第2, 3条出现的问题</summary>
# 关于脚本倒卖的问题: [#1](https://github.com/StageGuard/SkyAutoPlayerScript/issues/1) # 关于脚本倒卖的问题: [#1](https://github.com/StageGuard/SkyAutoPlayerScript/issues/1)
# 耻辱柱 # 耻辱柱
Gitee 用户[嗨游圈(@vipssp)](https://gitee.com/vipssp)在**未经乐谱上传者的同意下私自盗用** SkyAutoplayerScript 于 Gitee 的[同步镜像](https://gitee.com/stageguard/SkyAutoPlayerScript)到它的 [Gitee 仓库](https://gitee.com/vipssp/SkyAutoPlayerScript/)。 Gitee 用户[嗨游圈(@vipssp)](https://gitee.com/vipssp)在**未经乐谱上传者的同意下私自盗用** SkyAutoplayerScript 于 Gitee 的[同步镜像](https://gitee.com/stageguard/SkyAutoPlayerScript)到它的 [Gitee 仓库](https://gitee.com/vipssp/SkyAutoPlayerScript/)。
在经过[通知](https://gitee.com/vipssp/SkyAutoPlayerScript/commit/197925a71ff9cc6248be682a55406fc5814b12d7#note_3637784)后仍未及时删除盗用的乐谱,在于一些乐谱原作者沟通后,决定将其挂在此 README.md 首部,以告示。 在经过[通知](https://gitee.com/vipssp/SkyAutoPlayerScript/commit/197925a71ff9cc6248be682a55406fc5814b12d7#note_3637784)后仍未及时删除盗用的乐谱,在于一些乐谱原作者沟通后,决定将其挂在此 README.md 首部,以告示。
<table> <table>
<tr> <tr>
<td align="center" height="200"> <td align="center" height="200">
<img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-8-40.PNG" /> <img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-8-40.PNG" />
</td> </td>
<td align="center" height="200"> <td align="center" height="200">
<img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-9-57.PNG" /> <img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-9-57.PNG" />
</td> </td>
<td align="center" height="200"> <td align="center" height="200">
<img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-44-4.PNG" /> <img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/2020-12-19_0-44-4.PNG" />
</td> </td>
<td align="center" height="200"> <td align="center" height="200">
<img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/Screenshot_2020-12-19-00-10-12-499_com.coolapk.market.jpg" /> <img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/Screenshot_2020-12-19-00-10-12-499_com.coolapk.market.jpg" />
</td> </td>
<td align="center" height="200"> <td align="center" height="200">
<img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/Screenshot_2020-12-19-00-11-23-671_com.coolapk.market.jpg" /> <img src="https://gitee.com/stageguard/SkyAutoPlayerScript/raw/master/resources/static/Screenshot_2020-12-19-00-11-23-671_com.coolapk.market.jpg" />
</td> </td>
</tr> </tr>
</table> </table>
</details> </details>
# 贡献 / Contribution # 贡献 / Contribution
欢迎任何人贡献本项目,包括但不限于 Pull RequestIssueNew feature request 或者 贡献翻译。 欢迎任何人贡献本项目,包括但不限于 Pull RequestIssueNew feature request 或者 贡献翻译。
Welcome everyone to contribute this project, including pull request, issue, new feature request or translation. Welcome everyone to contribute this project, including pull request, issue, new feature request or translation.
## 贡献者 / Contributor ## 贡献者 / Contributor
### SkyAutoPlayerScript ### SkyAutoPlayerScript
[@tiaod](https://github.com/tiaod) [@tiaod](https://github.com/tiaod)
### 共享乐谱 / Shared sheets ### 共享乐谱 / Shared sheets
酷安[@Aex技术总监](http://www.coolapk.com/u/1286879)<br> 酷安[@Aex技术总监](http://www.coolapk.com/u/1286879)<br>
酷安[@夏卡卡卡](http://www.coolapk.com/u/2313452)<br> 酷安[@夏卡卡卡](http://www.coolapk.com/u/2313452)<br>
酷安[@深空失忆か](http://www.coolapk.com/u/3005974)<br> 酷安[@深空失忆か](http://www.coolapk.com/u/3005974)<br>
抖音[@子哲啊🌈(zizhe1880689503)](https://v.douyin.com/J9gUaVE/)<br> 抖音[@子哲啊🌈(zizhe1880689503)](https://v.douyin.com/J9gUaVE/)<br>
酷安[@你们很有趣呢](http://www.coolapk.com/u/2416229)<br> 酷安[@你们很有趣呢](http://www.coolapk.com/u/2416229)<br>
酷安[@情如风雪无常](http://www.coolapk.com/u/643670)<br> 酷安[@情如风雪无常](http://www.coolapk.com/u/643670)<br>
酷安[@慕疵](http://www.coolapk.com/u/3286967)<br> 酷安[@慕疵](http://www.coolapk.com/u/3286967)<br>
酷安[@社区最弱萌新](http://www.coolapk.com/u/3291313)<br> 酷安[@社区最弱萌新](http://www.coolapk.com/u/3291313)<br>
酷安[@九方辰](http://www.coolapk.com/u/634078)<br> 酷安[@九方辰](http://www.coolapk.com/u/634078)<br>
酷安[@北极马可罗尼](http://www.coolapk.com/u/463478)<br> 酷安[@北极马可罗尼](http://www.coolapk.com/u/463478)<br>
哔哩哔哩[@UTF16](https://space.bilibili.com/623364258)<br> 哔哩哔哩[@UTF16](https://space.bilibili.com/623364258)<br>
酷安[@Syngenex](http://www.coolapk.com/u/1093421)<br> 酷安[@Syngenex](http://www.coolapk.com/u/1093421)<br>
Twitter[Phoebe@huunhut1217](https://mobile.twitter.com/huunhut1217)<br> Twitter[Phoebe@huunhut1217](https://mobile.twitter.com/huunhut1217)<br>
酷安[@终究是错付了](http://www.coolapk.com/u/2293899)<br> 酷安[@终究是错付了](http://www.coolapk.com/u/2293899)<br>
酷安[@DesperatU](http://www.coolapk.com/u/1075889)<br> 酷安[@DesperatU](http://www.coolapk.com/u/1075889)<br>
酷安[@明明酱](http://www.coolapk.com/u/1706128)<br> 酷安[@明明酱](http://www.coolapk.com/u/1706128)<br>
酷安[@cxk的篮球](http://www.coolapk.com/u/1090769)<br> 酷安[@cxk的篮球](http://www.coolapk.com/u/1090769)<br>
酷安[@头条乀](http://www.coolapk.com/u/1192320)<br> 酷安[@头条乀](http://www.coolapk.com/u/1192320)<br>
酷安[@Alusias](http://www.coolapk.com/u/808787)<br> 酷安[@Alusias](http://www.coolapk.com/u/808787)<br>
[chikin](mailto:2869826936@qq.com)<br> [chikin](mailto:2869826936@qq.com)<br>
酷安[@温茶予君](http://www.coolapk.com/u/1212499)<br> 酷安[@温茶予君](http://www.coolapk.com/u/1212499)<br>
酷安[@落红难相聚](http://www.coolapk.com/u/2082465)<br> 酷安[@落红难相聚](http://www.coolapk.com/u/2082465)<br>
## 翻译 / Translation ## 翻译 / Translation
SkyAutoplayerScript 在版本 21 已支持多语言并可以在线获取语言列表,你可以查看 [contribute-translation.md](contribute-translation.md) (English) 来了解如何贡献翻译。 SkyAutoplayerScript 在版本 21 已支持多语言并可以在线获取语言列表,你可以查看 [contribute-translation.md](contribute-translation.md) (English) 来了解如何贡献翻译。
SkyAutoplayerScript version 21 has supported multi-language and can also fetch online language list, follow [contribute-translation.md](contribute-translation.md) (English) guide to contribute translation. SkyAutoplayerScript version 21 has supported multi-language and can also fetch online language list, follow [contribute-translation.md](contribute-translation.md) (English) guide to contribute translation.
### 贡献者 / Contributor ### 贡献者 / Contributor
# 图标来源 / Icon from: # 图标来源 / Icon from:
[Iconfont-阿里巴巴矢量图标库](https://www.iconfont.cn/) [Iconfont-阿里巴巴矢量图标库](https://www.iconfont.cn/)
# 鸣谢 / Thanks to: # 鸣谢 / Thanks to:
[projectXero](https://gitee.com/projectXero) (提供适用于Rhino的`ListAdapter`) [projectXero](https://gitee.com/projectXero) (提供适用于Rhino的`ListAdapter`)
# 许可证协议 / LICENSE # 许可证协议 / LICENSE
``` ```
SkyAutoPlayer (Auto.js script) SkyAutoPlayer (Auto.js script)
Copyright © 2020-2021 StageGuard Copyright © 2020-2021 StageGuard
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA USA
``` ```

View File

@@ -1,41 +1,41 @@
# Help to translate SkyAutoplayerScript # Help to translate SkyAutoplayerScript
Follow [Issue#4](https://github.com/StageGuard/SkyAutoPlayerScript/issues/4) request, SkyAutoplayerScript has updated version 21, which supported multi-language. Follow [Issue#4](https://github.com/StageGuard/SkyAutoPlayerScript/issues/4) request, SkyAutoplayerScript has updated version 21, which supported multi-language.
It can also fetch online language list [source/language_list.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/source/language_list.json). So if you want to translate SkyAutoplayerScript into another language, please follow the steps below. It can also fetch online language list [source/language_list.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/source/language_list.json). So if you want to translate SkyAutoplayerScript into another language, please follow the steps below.
## Translate to a new language ## Translate to a new language
- Clone this repository. - Clone this repository.
- Create a new file in **resources/language_pack/xx_XX.json**, the file name must be standard language code (e.g. zh_CN or en_US). - Create a new file in **resources/language_pack/xx_XX.json**, the file name must be standard language code (e.g. zh_CN or en_US).
- You can refer to [resources/language_pack/en_US.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/resources/language_pack/en_US.json) to translate. - You can refer to [resources/language_pack/en_US.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/resources/language_pack/en_US.json) to translate.
- Modify **source/language_list.json**: - Modify **source/language_list.json**:
```js ```js
{ {
"list": [{ "list": [{
"code": "", //your language code "code": "", //your language code
"name": "" //language name "name": "" //language name
}, { }, {
"code": "zh_CN", "code": "zh_CN",
"name": "简体中文" "name": "简体中文"
}, { }, {
//... //...
}] }]
} }
``` ```
- Create a new pull request. - Create a new pull request.
After merging, your language will be shown in Setting-Language list. After merging, your language will be shown in Setting-Language list.
## Fix a wrong translation ## Fix a wrong translation
- Clone this repository. - Clone this repository.
- Correct wrong translations. - Correct wrong translations.
- Update `version` number(+1) of target language in language file and [source/language_list.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/source/language_list.json). - Update `version` number(+1) of target language in language file and [source/language_list.json](https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/source/language_list.json).
- Create a new pull request. - Create a new pull request.
After merging, SkyAutoplayerScript will notify users who uses this language to update. After merging, SkyAutoplayerScript will notify users who uses this language to update.
I would appreciate it if you could contribute translation! I would appreciate it if you could contribute translation!

View File

@@ -1,111 +1,111 @@
{ {
"name": "English (US)", "name": "English (US)",
"code": "en_US", "code": "en_US",
"version": 3, "version": 3,
"content": { "content": {
"launch_tip_in_content": "If you can't see a diamond popup dialog,<br>make sure that Auto.js is allowed to <u><b>display pop-up window</u></b><br><br><br>Version <b>4.1.1 Alpha2</b> is recommended.<br><b>4.1.1 Alpha2</b> Download: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>", "launch_tip_in_content": "If you can't see a diamond popup dialog,<br>make sure that Auto.js is allowed to <u><b>display pop-up window</u></b><br><br><br>Version <b>4.1.1 Alpha2</b> is recommended.<br><b>4.1.1 Alpha2</b> Download: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>",
"launch_tip_force_exit": "FORCE EXIT", "launch_tip_force_exit": "FORCE EXIT",
"launch_tip_storage_on_android11": "In Android R, access private data folder of other apps is forbidden, sheet folder has set to {0}", "launch_tip_storage_on_android11": "In Android R, access private data folder of other apps is forbidden, sheet folder has set to {0}",
"op_loading_resources": "Loading resources...", "op_loading_resources": "Loading resources...",
"op_user_agreement_title": "User Agreement", "op_user_agreement_title": "User Agreement",
"button_confirm": "Confirm", "button_confirm": "Confirm",
"button_cancel": "Cancel", "button_cancel": "Cancel",
"sheet_detail_dialog_suggestion_locale": "Recommended Place:", "sheet_detail_dialog_suggestion_locale": "Recommended Place:",
"sheet_detail_dialog_view_author_social_link": "View sheet translator:", "sheet_detail_dialog_view_author_social_link": "View sheet translator:",
"page_lc_title": "Local sheet", "page_lc_title": "Local sheet",
"page_lc_navigation_title": "LOCAL", "page_lc_navigation_title": "LOCAL",
"page_lc_sheet_item_info": "Key Count: {0} - BPM: {1}", "page_lc_sheet_item_info": "Key Count: {0} - BPM: {1}",
"page_lc_kc_title": "Key count for this sheet", "page_lc_kc_title": "Key count for this sheet",
"page_lc_kc_desc": "This is a local sheet, please set the key type of sheet.", "page_lc_kc_desc": "This is a local sheet, please set the key type of sheet.",
"page_lc_kc_8k": "8 keys", "page_lc_kc_8k": "8 keys",
"page_lc_kc_15k": "15 keys", "page_lc_kc_15k": "15 keys",
"page_lc_kc_set": "Local sheet {0} has been recognized as {1} keys sheet.\nPress PLAY button to autoplay.\nLong press this item to reset key count.", "page_lc_kc_set": "Local sheet {0} has been recognized as {1} keys sheet.\nPress PLAY button to autoplay.\nLong press this item to reset key count.",
"page_lc_no_8k_set": "The 8 key position coordinates are not set or the coordinate data is wrong. Please go to the setting page to set.", "page_lc_no_8k_set": "The 8 key position coordinates are not set or the coordinate data is wrong. Please go to the setting page to set.",
"page_lc_no_15k_set": "The 8 key position coordinates are not set or the coordinate data is wrong. Please go to the setting page to set.", "page_lc_no_15k_set": "The 8 key position coordinates are not set or the coordinate data is wrong. Please go to the setting page to set.",
"page_lc_del_title": "Delete sheet", "page_lc_del_title": "Delete sheet",
"page_lc_del_desc": "Are you sure to delete {0} ?\nThe operation cannot undo.", "page_lc_del_desc": "Are you sure to delete {0} ?\nThe operation cannot undo.",
"page_lc_import_title": "How to import local sheet", "page_lc_import_title": "How to import local sheet",
"page_lc_import_desc": "The local sheet folder is located to {0}.\n<u><b>{1}</u></b>\nJust copy your sheet files into this folder.\n\nWarning\nSkyStudio uses <u><b>{2}</u></b> charset to read and write file.\nPlease make sure the charset of external sheet is the same as SkyStudio uses.\n", "page_lc_import_desc": "The local sheet folder is located to {0}.\n<u><b>{1}</u></b>\nJust copy your sheet files into this folder.\n\nWarning\nSkyStudio uses <u><b>{2}</u></b> charset to read and write file.\nPlease make sure the charset of external sheet is the same as SkyStudio uses.\n",
"page_lc_import_stand_document_folder": "Android Standard Document Folder", "page_lc_import_stand_document_folder": "Android Standard Document Folder",
"page_lc_import_sky_pri_storage_folder": "Private data folder of SkyStudio", "page_lc_import_sky_pri_storage_folder": "Private data folder of SkyStudio",
"page_lc_kctip_title": "Change key counts for sheet", "page_lc_kctip_title": "Change key counts for sheet",
"page_lc_kctip_desc": "Version 15 adds support for scores of instruments with different key positions (8 and 15), which use different coordinate data. \n Currently stored in local music (externally imported or downloaded from shared music before version 15), they have no key position information, and skyautoplayerscript cannot confirm whether it is an 8-key score or a 15 key score. \nThe shared music score information has been updated. Now the downloaded shared music score already contains the music score key position information, so there is no need to set it again. \nWhen you click the start playing button, if there is no key position information, a dialog box will pop up to select the music score key position, and skyautoplayerscript will save the key position information to the score. \nIf the wrong key position information is set for some reason, you can long press the score to reset it. \n\nP. S.: it is necessary to reset the coordinates of key 15.", "page_lc_kctip_desc": "Version 15 adds support for scores of instruments with different key positions (8 and 15), which use different coordinate data. \n Currently stored in local music (externally imported or downloaded from shared music before version 15), they have no key position information, and skyautoplayerscript cannot confirm whether it is an 8-key score or a 15 key score. \nThe shared music score information has been updated. Now the downloaded shared music score already contains the music score key position information, so there is no need to set it again. \nWhen you click the start playing button, if there is no key position information, a dialog box will pop up to select the music score key position, and skyautoplayerscript will save the key position information to the score. \nIf the wrong key position information is set for some reason, you can long press the score to reset it. \n\nP. S.: it is necessary to reset the coordinates of key 15.",
"page_lc_load_failed_title": "Failed to load {0}", "page_lc_load_failed_title": "Failed to load {0}",
"page_lc_load_failed_desc": "Failed to load {0}.\n\nReason: \n{1}\n\nPlease check the following items:\n{2}", "page_lc_load_failed_desc": "Failed to load {0}.\n\nReason: \n{1}\n\nPlease check the following items:\n{2}",
"page_lc_load_failed_r1": "Is the charset of this sheet is UTF16-LE.", "page_lc_load_failed_r1": "Is the charset of this sheet is UTF16-LE.",
"page_lc_load_failed_r2": "Is this sheet not encrypted.", "page_lc_load_failed_r2": "Is this sheet not encrypted.",
"page_lc_load_failed_r3": "Are any syntax error in this sheet.", "page_lc_load_failed_r3": "Are any syntax error in this sheet.",
"page_lc_loading_sheet": "Loading: {0} total({1} failed)", "page_lc_loading_sheet": "Loading: {0} total({1} failed)",
"page_sc_title": "Shared heet", "page_sc_title": "Shared heet",
"page_sc_navigation_title": "SHARED", "page_sc_navigation_title": "SHARED",
"page_sc_downloading": "Downloading...", "page_sc_downloading": "Downloading...",
"page_sc_analyzing": "Parsing...", "page_sc_analyzing": "Parsing...",
"page_sc_download_success": "Download successful: {0}\nPlease press refresh button in local sheet page.", "page_sc_download_success": "Download successful: {0}\nPlease press refresh button in local sheet page.",
"page_sc_download_failed": "Failed to download {0}: {1}", "page_sc_download_failed": "Failed to download {0}: {1}",
"page_sc_upload_title": "How to upload your local sheet", "page_sc_upload_title": "How to upload your local sheet",
"page_sc_upload_desc": "There are two ways\n\n①Mail to beamiscool@qq.com with attachment file.\n(Sheet description is optional.)\n\n②Pull request to StageGuard/SkyAutoplayerScript\n\n③PM to @StageGuard in CoolApk with sheet link.\nPut your sheet file to shared_sheets folder and modify shared_sheets.json\n\nWarning: If the sheet is not translated or composed by yourself, you must gain the permission of original composer or translator.\n\nWelcome to expand the shared sheet list!", "page_sc_upload_desc": "There are two ways\n\n①Mail to beamiscool@qq.com with attachment file.\n(Sheet description is optional.)\n\n②Pull request to StageGuard/SkyAutoplayerScript\n\n③PM to @StageGuard in CoolApk with sheet link.\nPut your sheet file to shared_sheets folder and modify shared_sheets.json\n\nWarning: If the sheet is not translated or composed by yourself, you must gain the permission of original composer or translator.\n\nWelcome to expand the shared sheet list!",
"page_sc_upload_open_coolapk": "Open CoolApk", "page_sc_upload_open_coolapk": "Open CoolApk",
"page_sc_upload_open_github": "Open GitHub", "page_sc_upload_open_github": "Open GitHub",
"page_sc_upload_ca_not_exist": "Application CookApk is not installed on your device", "page_sc_upload_ca_not_exist": "Application CookApk is not installed on your device",
"page_sc_announcement_title": "Online sheet Annnouncement", "page_sc_announcement_title": "Online sheet Annnouncement",
"page_sc_announcement_desc": "All online sheet can be found in GitHub \n<a href=https://github.com/StageGuard/SkyAutoPlayerScript>github.com/StageGuard/SkyAutoPlayerScript</a>\n\nAll sheet in this list is <b><u>only be played in SkyAutoplayerScript</u></b>\nIf you want to upload to other websites, please <b>gain the permission of original composer or translator</b> or <b>following their announcement</b>!", "page_sc_announcement_desc": "All online sheet can be found in GitHub \n<a href=https://github.com/StageGuard/SkyAutoPlayerScript>github.com/StageGuard/SkyAutoPlayerScript</a>\n\nAll sheet in this list is <b><u>only be played in SkyAutoplayerScript</u></b>\nIf you want to upload to other websites, please <b>gain the permission of original composer or translator</b> or <b>following their announcement</b>!",
"page_sc_announcement_confirm": "I Understand!", "page_sc_announcement_confirm": "I Understand!",
"page_sc_search_hint": "Press ENTER to search", "page_sc_search_hint": "Press ENTER to search",
"page_sc_fetching_list": "Fetching list...", "page_sc_fetching_list": "Fetching list...",
"page_setting_title": "Setting", "page_setting_title": "Setting",
"page_setting_navigation_title": "SETTING", "page_setting_navigation_title": "SETTING",
"page_setting_basic": "Basic setting", "page_setting_basic": "Basic setting",
"page_setting_set_8key_coordinate": "Set 8-key-sheet coordinates", "page_setting_set_8key_coordinate": "Set 8-key-sheet coordinates",
"page_setting_set_15key_coordinate": "Set 15-key-sheet coordinates", "page_setting_set_15key_coordinate": "Set 15-key-sheet coordinates",
"page_setting_key_coordinate_saved": "Coordinates have been saved.", "page_setting_key_coordinate_saved": "Coordinates have been saved.",
"page_setting_random_and_continuate_play": "Random and continuate play", "page_setting_random_and_continuate_play": "Random and continuate play",
"page_setting_show_broken_sheet": "Show sheets that failed to load", "page_setting_show_broken_sheet": "Show sheets that failed to load",
"page_setting_show_storage_tip_on_android11": "Show storage tip when startup", "page_setting_show_storage_tip_on_android11": "Show storage tip when startup",
"page_setting_set_theme": "Set theme color", "page_setting_set_theme": "Set theme color",
"page_setting_theme_light": "Light", "page_setting_theme_light": "Light",
"page_setting_theme_dark": "Dark", "page_setting_theme_dark": "Dark",
"page_setting_about": "About", "page_setting_about": "About",
"page_setting_user_agreement": "Show user agreement", "page_setting_user_agreement": "Show user agreement",
"page_setting_user_agreement_title": "User Agreement", "page_setting_user_agreement_title": "User Agreement",
"page_setting_show_license": "Show LICENSE", "page_setting_show_license": "Show LICENSE",
"page_setting_show_changelog": "Show changelog", "page_setting_show_changelog": "Show changelog",
"page_setting_changelog_title": "Changelog", "page_setting_changelog_title": "Changelog",
"page_setting_exit_script": "Exit", "page_setting_exit_script": "Exit",
"page_setting_language": "Language", "page_setting_language": "Language",
"page_setting_chord_delay": "Delay of each chord key", "page_setting_chord_delay": "Delay of each chord key",
"gui_player_panel_tip": "Drag the title text of the title bar to move the suspension window of the performance control panel.", "gui_player_panel_tip": "Drag the title text of the title bar to move the suspension window of the performance control panel.",
"gui_player_penel_analyzing": "Parsing...", "gui_player_penel_analyzing": "Parsing...",
"gui_move_diamond_tip": "Move \"\u26d2\" to traget place to set key {0} coordinate", "gui_move_diamond_tip": "Move \"\u26d2\" to traget place to set key {0} coordinate",
"gui_key_coordinate_is_set": "Key {0} coordinate is set: [{1}, {2}]", "gui_key_coordinate_is_set": "Key {0} coordinate is set: [{1}, {2}]",
"gui_move_window_tip": "Drag the title text of the title bar to move the position of the suspended window.", "gui_move_window_tip": "Drag the title text of the title bar to move the position of the suspended window.",
"gui_dialog_do_not_show_again": "Don't show again", "gui_dialog_do_not_show_again": "Don't show again",
"res_updated": "SkyAutoPlayer has updated.", "res_updated": "SkyAutoPlayer has updated.",
"res_updated_detail": "Version: {0} ← {1}\n\nChangelog: \n{2}", "res_updated_detail": "Version: {0} ← {1}\n\nChangelog: \n{2}",
"res_check_update_error": "Failed to check updates.", "res_check_update_error": "Failed to check updates.",
"res_loading_general": "Loading resources...", "res_loading_general": "Loading resources...",
"res_loading_detail": "Loading: {0}", "res_loading_detail": "Loading: {0}",
"res_loading_error": "Load failed: {0}", "res_loading_error": "Load failed: {0}",
"res_put_into_download_queue": "No local cache, put to download queue: {0}", "res_put_into_download_queue": "No local cache, put to download queue: {0}",
"res_load_successful": "Resource loading completed.", "res_load_successful": "Resource loading completed.",
"res_try_download": "Try {0}, {1} resources to download", "res_try_download": "Try {0}, {1} resources to download",
"res_downloading": "Downloading: {0}", "res_downloading": "Downloading: {0}",
"res_download_or_load_failed": "Failed to load or download resource {0}: {1}", "res_download_or_load_failed": "Failed to load or download resource {0}: {1}",
"res_download_failed": "The following resources cannot be downloaded: {0}", "res_download_failed": "The following resources cannot be downloaded: {0}",
"res_download_successful": "Resource download complete", "res_download_successful": "Resource download complete",
"res_error_while_downloading": "Error occurred when downloading: {0}", "res_error_while_downloading": "Error occurred when downloading: {0}",
"res_use_language": "Use language: {0}", "res_use_language": "Use language: {0}",
"res_language_dialog_title": "Choose language", "res_language_dialog_title": "Choose language",
"res_language_download_failed": "Failed to download language pack: {0}", "res_language_download_failed": "Failed to download language pack: {0}",
"res_language_dialog_tip": "Your language is not on the list?<br>Welcome to translate the script:<br><a href=>https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/contribute-translation.md</a>", "res_language_dialog_tip": "Your language is not on the list?<br>Welcome to translate the script:<br><a href=>https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/contribute-translation.md</a>",
"res_language_failed_fetch_online_list": "Failed to fetch online language list", "res_language_failed_fetch_online_list": "Failed to fetch online language list",
"res_language_update_needed": "Language pack need to be updated, please go to setting->language and click current language again to upgrade." "res_language_update_needed": "Language pack need to be updated, please go to setting->language and click current language again to upgrade."
} }
} }

View File

@@ -1,111 +1,111 @@
{ {
"name": "简体中文", "name": "简体中文",
"code": "zh_CN", "code": "zh_CN",
"version": 3, "version": 3,
"content": { "content": {
"launch_tip_in_content": "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了Auto.js<u><b>悬浮窗权限</u></b><br><br><br>建议使用 <b>4.1.1 Alpha2</b> 版本!<br><b>4.1.1 Alpha2</b> 版本下载: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>", "launch_tip_in_content": "当你发现什么事情都没有发生时<br>也许你应该看看是否授予了Auto.js<u><b>悬浮窗权限</u></b><br><br><br>建议使用 <b>4.1.1 Alpha2</b> 版本!<br><b>4.1.1 Alpha2</b> 版本下载: <a href=https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2>https://github.com/Ericwyn/Auto.js/releases/tag/V4.1.1.Alpha2</a>",
"launch_tip_force_exit": "强制退出", "launch_tip_force_exit": "强制退出",
"launch_tip_storage_on_android11": "安卓11不允许外部应用读取应用私有文件夹乐谱文件夹移至 {0}", "launch_tip_storage_on_android11": "安卓11不允许外部应用读取应用私有文件夹乐谱文件夹移至 {0}",
"op_loading_resources": "加载资源中...", "op_loading_resources": "加载资源中...",
"op_user_agreement_title": "使用须知", "op_user_agreement_title": "使用须知",
"button_confirm": "确认", "button_confirm": "确认",
"button_cancel": "取消", "button_cancel": "取消",
"sheet_detail_dialog_suggestion_locale": "建议弹奏地点:", "sheet_detail_dialog_suggestion_locale": "建议弹奏地点:",
"sheet_detail_dialog_view_author_social_link": "查看作者:", "sheet_detail_dialog_view_author_social_link": "查看作者:",
"page_lc_title": "本地乐谱", "page_lc_title": "本地乐谱",
"page_lc_navigation_title": "本地乐谱", "page_lc_navigation_title": "本地乐谱",
"page_lc_sheet_item_info": "键数: {0} - BPM: {1}", "page_lc_sheet_item_info": "键数: {0} - BPM: {1}",
"page_lc_kc_title": "设置键位数", "page_lc_kc_title": "设置键位数",
"page_lc_kc_desc": "这是一个本地乐谱,请设置这个乐谱的键位数", "page_lc_kc_desc": "这是一个本地乐谱,请设置这个乐谱的键位数",
"page_lc_kc_8k": "8键位", "page_lc_kc_8k": "8键位",
"page_lc_kc_15k": "15键位", "page_lc_kc_15k": "15键位",
"page_lc_kc_set": "已将 {0} 设置为 {1} 键乐谱\n请再次点击弹奏按钮。\n长按乐谱以重新设置键位数。", "page_lc_kc_set": "已将 {0} 设置为 {1} 键乐谱\n请再次点击弹奏按钮。\n长按乐谱以重新设置键位数。",
"page_lc_no_8k_set": "未设置 8 键键位坐标或坐标数据错误,请前往设置页设置键位坐标", "page_lc_no_8k_set": "未设置 8 键键位坐标或坐标数据错误,请前往设置页设置键位坐标",
"page_lc_no_15k_set": "未设置 15 键键位坐标或坐标数据错误,请前往设置页设置键位坐标", "page_lc_no_15k_set": "未设置 15 键键位坐标或坐标数据错误,请前往设置页设置键位坐标",
"page_lc_del_title": "删除文件", "page_lc_del_title": "删除文件",
"page_lc_del_desc": "确认要删除 {0} 吗?\n该操作不可恢复", "page_lc_del_desc": "确认要删除 {0} 吗?\n该操作不可恢复",
"page_lc_import_title": "如何导入本地乐谱", "page_lc_import_title": "如何导入本地乐谱",
"page_lc_import_desc": "本地乐谱文件夹在{0}\n<u><b>{1}</u></b>\n将外部乐谱复制进这个文件夹即可\n\n注意\nSkyStudio对乐谱的存储/读取使用<u><b>{2}</u></b>编码\n请确保外部乐谱的编码与SkyStudio使用的编码一致\n", "page_lc_import_desc": "本地乐谱文件夹在{0}\n<u><b>{1}</u></b>\n将外部乐谱复制进这个文件夹即可\n\n注意\nSkyStudio对乐谱的存储/读取使用<u><b>{2}</u></b>编码\n请确保外部乐谱的编码与SkyStudio使用的编码一致\n",
"page_lc_import_stand_document_folder": "Android标准文档文件夹", "page_lc_import_stand_document_folder": "Android标准文档文件夹",
"page_lc_import_sky_pri_storage_folder": "SkyStudio的乐谱存储位置", "page_lc_import_sky_pri_storage_folder": "SkyStudio的乐谱存储位置",
"page_lc_kctip_title": "修改乐谱键位数", "page_lc_kctip_title": "修改乐谱键位数",
"page_lc_kctip_desc": "版本15增加了对不同键位乐器(8键位和15键位)乐谱的支持,它们使用不同的坐标数据。\n当前已存储在本地的乐谱(外部导入的乐谱或在版本15之前从共享乐谱下载的乐谱)它们没有键位信息SkyAutoPlayerScript无法确认它是8键位乐谱还是15键位乐谱。\n共享乐谱信息已更新现在下载的共享乐谱它已经包含了乐谱键位信息不需要再设置。\n点击开始弹奏按钮时若无键位信息则会弹出对话框以选择乐谱键位SkyAutoPlayerScript会保存键位信息到乐谱。\n如果因为一些原因设置了错误的键位信息可以长按乐谱来重新设置。\n\np.s.: 需要重新设置15键键位坐标。", "page_lc_kctip_desc": "版本15增加了对不同键位乐器(8键位和15键位)乐谱的支持,它们使用不同的坐标数据。\n当前已存储在本地的乐谱(外部导入的乐谱或在版本15之前从共享乐谱下载的乐谱)它们没有键位信息SkyAutoPlayerScript无法确认它是8键位乐谱还是15键位乐谱。\n共享乐谱信息已更新现在下载的共享乐谱它已经包含了乐谱键位信息不需要再设置。\n点击开始弹奏按钮时若无键位信息则会弹出对话框以选择乐谱键位SkyAutoPlayerScript会保存键位信息到乐谱。\n如果因为一些原因设置了错误的键位信息可以长按乐谱来重新设置。\n\np.s.: 需要重新设置15键键位坐标。",
"page_lc_load_failed_title": "加载 {0} 失败", "page_lc_load_failed_title": "加载 {0} 失败",
"page_lc_load_failed_desc": "加载乐谱 {0} 失败\n\n原因\n{1}\n\n请检查以下内容\n{2}", "page_lc_load_failed_desc": "加载乐谱 {0} 失败\n\n原因\n{1}\n\n请检查以下内容\n{2}",
"page_lc_load_failed_r1": "谱子编码是否为UTF16-LE", "page_lc_load_failed_r1": "谱子编码是否为UTF16-LE",
"page_lc_load_failed_r2": "谱子是否为未加密的JSON格式", "page_lc_load_failed_r2": "谱子是否为未加密的JSON格式",
"page_lc_load_failed_r3": "谱子是否有JSON语法错误", "page_lc_load_failed_r3": "谱子是否有JSON语法错误",
"page_lc_loading_sheet": "加载中: 共 {0} 首乐谱({1} 失败)", "page_lc_loading_sheet": "加载中: 共 {0} 首乐谱({1} 失败)",
"page_sc_title": "共享乐谱", "page_sc_title": "共享乐谱",
"page_sc_navigation_title": "共享乐谱", "page_sc_navigation_title": "共享乐谱",
"page_sc_downloading": "下载乐谱中...", "page_sc_downloading": "下载乐谱中...",
"page_sc_analyzing": "解析乐谱中...", "page_sc_analyzing": "解析乐谱中...",
"page_sc_download_success": "下载完成: {0}\n请在本地曲谱页面刷新", "page_sc_download_success": "下载完成: {0}\n请在本地曲谱页面刷新",
"page_sc_download_failed": "下载 {0} 失败: {1}", "page_sc_download_failed": "下载 {0} 失败: {1}",
"page_sc_upload_title": "如何上传乐谱", "page_sc_upload_title": "如何上传乐谱",
"page_sc_upload_desc": "共有两种方式可以上传乐谱:\n\n①酷安私信@StageGuard发送时请附带简介曲谱链接(百度云或其他云盘都可)\n②在github fork StageGuard/SkyAutoplayerScript\n在shared_sheets文件夹添加你的曲谱并按照格式修改shared_sheets.json\n并提出 Pull Request 合并申请\n\n注若是转载转载请注明原作者同意\n\n如果所有人都白嫖那么这个列表将永远也不会扩充", "page_sc_upload_desc": "共有两种方式可以上传乐谱:\n\n①酷安私信@StageGuard发送时请附带简介曲谱链接(百度云或其他云盘都可)\n②在github fork StageGuard/SkyAutoplayerScript\n在shared_sheets文件夹添加你的曲谱并按照格式修改shared_sheets.json\n并提出 Pull Request 合并申请\n\n注若是转载转载请注明原作者同意\n\n如果所有人都白嫖那么这个列表将永远也不会扩充",
"page_sc_upload_open_coolapk": "打开酷安", "page_sc_upload_open_coolapk": "打开酷安",
"page_sc_upload_open_github": "打开 Github", "page_sc_upload_open_github": "打开 Github",
"page_sc_upload_ca_not_exist": "无法打开酷安,应用不存在!", "page_sc_upload_ca_not_exist": "无法打开酷安,应用不存在!",
"page_sc_announcement_title": "乐谱共享声明", "page_sc_announcement_title": "乐谱共享声明",
"page_sc_announcement_desc": "此列表共享的乐谱在\n<a href=https://github.com/StageGuard/SkyAutoPlayerScript>github.com/StageGuard/SkyAutoPlayerScript</a>\n均可以找到\n\n用户原创乐谱<b><u>仅在SkyAutoplayerScript共享并使用</u></b>\n转载至其他平台请<b>取得作者授权</b>\n\n转载在此共享列表的乐谱均会标明\n转载请</b>注明原作者授权</b>或<b>遵循原作者意愿</b>\n\n此声明没有强制执行性这是个人素质的体现\n<b><u>非法利益不可取</b></u>", "page_sc_announcement_desc": "此列表共享的乐谱在\n<a href=https://github.com/StageGuard/SkyAutoPlayerScript>github.com/StageGuard/SkyAutoPlayerScript</a>\n均可以找到\n\n用户原创乐谱<b><u>仅在SkyAutoplayerScript共享并使用</u></b>\n转载至其他平台请<b>取得作者授权</b>\n\n转载在此共享列表的乐谱均会标明\n转载请</b>注明原作者授权</b>或<b>遵循原作者意愿</b>\n\n此声明没有强制执行性这是个人素质的体现\n<b><u>非法利益不可取</b></u>",
"page_sc_announcement_confirm": "我已了解", "page_sc_announcement_confirm": "我已了解",
"page_sc_search_hint": "按回车开始搜索", "page_sc_search_hint": "按回车开始搜索",
"page_sc_fetching_list": "获取列表中...", "page_sc_fetching_list": "获取列表中...",
"page_setting_title": "设置", "page_setting_title": "设置",
"page_setting_navigation_title": "设置", "page_setting_navigation_title": "设置",
"page_setting_basic": "基础设置", "page_setting_basic": "基础设置",
"page_setting_set_8key_coordinate": "设置8键盘键位坐标", "page_setting_set_8key_coordinate": "设置8键盘键位坐标",
"page_setting_set_15key_coordinate": "设置15键盘键位坐标", "page_setting_set_15key_coordinate": "设置15键盘键位坐标",
"page_setting_key_coordinate_saved": "坐标设置已保存至存储!", "page_setting_key_coordinate_saved": "坐标设置已保存至存储!",
"page_setting_random_and_continuate_play": "连续随机播放", "page_setting_random_and_continuate_play": "连续随机播放",
"page_setting_show_broken_sheet": "显示加载失败的乐谱", "page_setting_show_broken_sheet": "显示加载失败的乐谱",
"page_setting_show_storage_tip_on_android11": "启动脚本时显示存储提示", "page_setting_show_storage_tip_on_android11": "启动脚本时显示存储提示",
"page_setting_set_theme": "设置主题色", "page_setting_set_theme": "设置主题色",
"page_setting_theme_light": "亮色", "page_setting_theme_light": "亮色",
"page_setting_theme_dark": "暗色", "page_setting_theme_dark": "暗色",
"page_setting_about": "关于", "page_setting_about": "关于",
"page_setting_user_agreement": "查看使用须知", "page_setting_user_agreement": "查看使用须知",
"page_setting_user_agreement_title": "使用须知", "page_setting_user_agreement_title": "使用须知",
"page_setting_show_license": "查看 LICENSE", "page_setting_show_license": "查看 LICENSE",
"page_setting_show_changelog": "查看更新日志", "page_setting_show_changelog": "查看更新日志",
"page_setting_changelog_title": "更新日志", "page_setting_changelog_title": "更新日志",
"page_setting_exit_script": "结束脚本运行", "page_setting_exit_script": "结束脚本运行",
"page_setting_language": "语言", "page_setting_language": "语言",
"page_setting_chord_delay": "和弦按压延迟", "page_setting_chord_delay": "和弦按压延迟",
"gui_player_panel_tip": "拖动标题栏的标题文字来移动弹奏控制面板悬浮窗。", "gui_player_panel_tip": "拖动标题栏的标题文字来移动弹奏控制面板悬浮窗。",
"gui_player_penel_analyzing": "解析中...", "gui_player_penel_analyzing": "解析中...",
"gui_move_diamond_tip": "移动\"\u26d2\"至目标位置来设置第 {0} 个键坐标", "gui_move_diamond_tip": "移动\"\u26d2\"至目标位置来设置第 {0} 个键坐标",
"gui_key_coordinate_is_set": "键 {0} 坐标已设置: [{1}, {2}]", "gui_key_coordinate_is_set": "键 {0} 坐标已设置: [{1}, {2}]",
"gui_move_window_tip": "拖动标题栏的标题文字来移动悬浮窗位置。", "gui_move_window_tip": "拖动标题栏的标题文字来移动悬浮窗位置。",
"gui_dialog_do_not_show_again": "不再显示", "gui_dialog_do_not_show_again": "不再显示",
"res_updated": "SkyAutoPlayer已更新", "res_updated": "SkyAutoPlayer已更新",
"res_updated_detail": "当前版本: {0} ← {1}\n\n更新日志: \n{2}", "res_updated_detail": "当前版本: {0} ← {1}\n\n更新日志: \n{2}",
"res_check_update_error": "版本检查失败,无法获取更新信息", "res_check_update_error": "版本检查失败,无法获取更新信息",
"res_loading_general": "加载资源中...", "res_loading_general": "加载资源中...",
"res_loading_detail": "加载资源中: {0}", "res_loading_detail": "加载资源中: {0}",
"res_loading_error": "加载失败: {0}", "res_loading_error": "加载失败: {0}",
"res_put_into_download_queue": "无本地资源,进入下载队列: {0}", "res_put_into_download_queue": "无本地资源,进入下载队列: {0}",
"res_load_successful": "资源加载完成", "res_load_successful": "资源加载完成",
"res_try_download": "第 {0} 次尝试下载资源,共需下载 {1} 项资源", "res_try_download": "第 {0} 次尝试下载资源,共需下载 {1} 项资源",
"res_downloading": "下载资源中: {0}", "res_downloading": "下载资源中: {0}",
"res_download_or_load_failed": "资源 {0} 下载/加载失败: {1}", "res_download_or_load_failed": "资源 {0} 下载/加载失败: {1}",
"res_download_failed": "以下资源下载失败:{0}", "res_download_failed": "以下资源下载失败:{0}",
"res_download_successful": "资源下载完成", "res_download_successful": "资源下载完成",
"res_error_while_downloading": "资源下载时发生了问题: {0}", "res_error_while_downloading": "资源下载时发生了问题: {0}",
"res_use_language": "使用语言: {0}", "res_use_language": "使用语言: {0}",
"res_language_dialog_title": "选择语言", "res_language_dialog_title": "选择语言",
"res_language_download_failed": "语言下载失败:{0}", "res_language_download_failed": "语言下载失败:{0}",
"res_language_dialog_tip": "找不到你的语言?欢迎贡献翻译:<br><a href=>https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/contribute-translation.md</a>", "res_language_dialog_tip": "找不到你的语言?欢迎贡献翻译:<br><a href=>https://github.com/StageGuard/SkyAutoPlayerScript/blob/master/contribute-translation.md</a>",
"res_language_failed_fetch_online_list": "无法获取在线语言列表", "res_language_failed_fetch_online_list": "无法获取在线语言列表",
"res_language_update_needed": "语言需要更新,请前往设置界面重新点击当前语言来更新" "res_language_update_needed": "语言需要更新,请前往设置界面重新点击当前语言来更新"
} }
} }

View File

@@ -1,5 +1,23 @@
{ {
"sheets": [ "sheets": [
{
"name": "烟斗斜桥",
"file": "烟斗斜桥.txt",
"author": "酷安@落红难相聚",
"desc": "酷安 <a href=http://www.coolapk.com/u/2082465>@落红难相聚<a/> 分享原创乐谱 烟斗斜桥",
"bpm": 320,
"suggested_instrument": 1,
"keyCount": 15,
"pitchLevel": 0,
"noteCount": 309,
"social": [
{
"platform": "coolapk",
"name": "酷安",
"link": "http://www.coolapk.com/u/2082465"
}
]
},
{ {
"name": "Cécile Corbel - Arrietty's Song", "name": "Cécile Corbel - Arrietty's Song",
"file": "Arrietty's_Song.txt", "file": "Arrietty's_Song.txt",

Binary file not shown.

View File

@@ -1,11 +1,11 @@
{ {
"list": [{ "list": [{
"code": "zh_CN", "code": "zh_CN",
"name": "简体中文", "name": "简体中文",
"version": 3 "version": 3
}, { }, {
"code": "en_US", "code": "en_US",
"name": "English (US)", "name": "English (US)",
"version": 3 "version": 3
}] }]
} }