init: Upload Code From Github
要提交的变更: 修改: README.md 新文件: README_zh-CN.md 新文件: assets/CHANGELOG.md 新文件: assets/Parsedown.php 新文件: assets/css/login.css 新文件: assets/css/manage.css 新文件: assets/defaultConfig.json 新文件: assets/defaultIconList.json 新文件: assets/html/favicon.ico 新文件: assets/html/login.html 新文件: assets/html/manage.html 新文件: assets/js/console.js 新文件: assets/js/manage.js 新文件: assets/opencc/composer.json 新文件: assets/opencc/composer.lock 新文件: assets/opencc/vendor/autoload.php 新文件: assets/opencc/vendor/bin/opencc 新文件: assets/opencc/vendor/composer/ClassLoader.php 新文件: assets/opencc/vendor/composer/InstalledVersions.php 新文件: assets/opencc/vendor/composer/LICENSE 新文件: assets/opencc/vendor/composer/autoload_classmap.php 新文件: assets/opencc/vendor/composer/autoload_files.php 新文件: assets/opencc/vendor/composer/autoload_namespaces.php 新文件: assets/opencc/vendor/composer/autoload_psr4.php 新文件: assets/opencc/vendor/composer/autoload_real.php 新文件: assets/opencc/vendor/composer/autoload_static.php 新文件: assets/opencc/vendor/composer/installed.json 新文件: assets/opencc/vendor/composer/installed.php 新文件: assets/opencc/vendor/composer/platform_check.php 新文件: assets/opencc/vendor/overtrue/php-opencc/.editorconfig 新文件: assets/opencc/vendor/overtrue/php-opencc/.github/FUNDING.yml 新文件: assets/opencc/vendor/overtrue/php-opencc/.github/workflows/test.yml 新文件: assets/opencc/vendor/overtrue/php-opencc/LICENSE 新文件: assets/opencc/vendor/overtrue/php-opencc/README.md 新文件: assets/opencc/vendor/overtrue/php-opencc/bin/build 新文件: assets/opencc/vendor/overtrue/php-opencc/bin/opencc 新文件: assets/opencc/vendor/overtrue/php-opencc/composer.json 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/HKVariants.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/HKVariantsRevPhrases.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/JPShinjitaiCharacters.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/JPShinjitaiPhrases.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/JPVariants.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/README.md 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/STCharacters.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/STPhrases.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TSCharacters.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TSPhrases.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TWPhrasesIT.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TWPhrasesName.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TWPhrasesOther.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TWVariants.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/dictionary/TWVariantsRevPhrases.txt 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/HKVariants.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/HKVariantsRev.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/HKVariantsRevPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/JPShinjitaiCharacters.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/JPShinjitaiPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/JPVariants.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/JPVariantsRev.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/STCharacters.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/STPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TSCharacters.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TSPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWPhrasesIT.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWPhrasesName.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWPhrasesOther.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWPhrasesRev.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWVariants.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWVariantsRev.php 新文件: assets/opencc/vendor/overtrue/php-opencc/data/parsed/TWVariantsRevPhrases.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Console/BuildCommand.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Console/ConvertCommand.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Contracts/ConverterInterface.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Converter.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Dictionary.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/OpenCC.php 新文件: assets/opencc/vendor/overtrue/php-opencc/src/Strategy.php 新文件: assets/opencc/vendor/psr/container/.gitignore 新文件: assets/opencc/vendor/psr/container/LICENSE 新文件: assets/opencc/vendor/psr/container/README.md 新文件: assets/opencc/vendor/psr/container/composer.json 新文件: assets/opencc/vendor/psr/container/src/ContainerExceptionInterface.php 新文件: assets/opencc/vendor/psr/container/src/ContainerInterface.php 新文件: assets/opencc/vendor/psr/container/src/NotFoundExceptionInterface.php 新文件: assets/opencc/vendor/symfony/console/Application.php 新文件: assets/opencc/vendor/symfony/console/Attribute/AsCommand.php 新文件: assets/opencc/vendor/symfony/console/CHANGELOG.md 新文件: assets/opencc/vendor/symfony/console/CI/GithubActionReporter.php 新文件: assets/opencc/vendor/symfony/console/Color.php 新文件: assets/opencc/vendor/symfony/console/Command/Command.php 新文件: assets/opencc/vendor/symfony/console/Command/CompleteCommand.php 新文件: assets/opencc/vendor/symfony/console/Command/DumpCompletionCommand.php 新文件: assets/opencc/vendor/symfony/console/Command/HelpCommand.php 新文件: assets/opencc/vendor/symfony/console/Command/LazyCommand.php 新文件: assets/opencc/vendor/symfony/console/Command/ListCommand.php 新文件: assets/opencc/vendor/symfony/console/Command/LockableTrait.php 新文件: assets/opencc/vendor/symfony/console/Command/SignalableCommandInterface.php 新文件: assets/opencc/vendor/symfony/console/Command/TraceableCommand.php 新文件: assets/opencc/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php 新文件: assets/opencc/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php 新文件: assets/opencc/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php 新文件: assets/opencc/vendor/symfony/console/Completion/CompletionInput.php 新文件: assets/opencc/vendor/symfony/console/Completion/CompletionSuggestions.php 新文件: assets/opencc/vendor/symfony/console/Completion/Output/BashCompletionOutput.php 新文件: assets/opencc/vendor/symfony/console/Completion/Output/CompletionOutputInterface.php 新文件: assets/opencc/vendor/symfony/console/Completion/Output/FishCompletionOutput.php 新文件: assets/opencc/vendor/symfony/console/Completion/Output/ZshCompletionOutput.php 新文件: assets/opencc/vendor/symfony/console/Completion/Suggestion.php 新文件: assets/opencc/vendor/symfony/console/ConsoleEvents.php 新文件: assets/opencc/vendor/symfony/console/Cursor.php 新文件: assets/opencc/vendor/symfony/console/DataCollector/CommandDataCollector.php 新文件: assets/opencc/vendor/symfony/console/Debug/CliRequest.php 新文件: assets/opencc/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/ApplicationDescription.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/Descriptor.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/DescriptorInterface.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/JsonDescriptor.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/MarkdownDescriptor.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/ReStructuredTextDescriptor.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/TextDescriptor.php 新文件: assets/opencc/vendor/symfony/console/Descriptor/XmlDescriptor.php 新文件: assets/opencc/vendor/symfony/console/Event/ConsoleCommandEvent.php 新文件: assets/opencc/vendor/symfony/console/Event/ConsoleErrorEvent.php 新文件: assets/opencc/vendor/symfony/console/Event/ConsoleEvent.php 新文件: assets/opencc/vendor/symfony/console/Event/ConsoleSignalEvent.php 新文件: assets/opencc/vendor/symfony/console/Event/ConsoleTerminateEvent.php 新文件: assets/opencc/vendor/symfony/console/EventListener/ErrorListener.php 新文件: assets/opencc/vendor/symfony/console/Exception/CommandNotFoundException.php 新文件: assets/opencc/vendor/symfony/console/Exception/ExceptionInterface.php 新文件: assets/opencc/vendor/symfony/console/Exception/InvalidArgumentException.php 新文件: assets/opencc/vendor/symfony/console/Exception/InvalidOptionException.php 新文件: assets/opencc/vendor/symfony/console/Exception/LogicException.php 新文件: assets/opencc/vendor/symfony/console/Exception/MissingInputException.php 新文件: assets/opencc/vendor/symfony/console/Exception/NamespaceNotFoundException.php 新文件: assets/opencc/vendor/symfony/console/Exception/RunCommandFailedException.php 新文件: assets/opencc/vendor/symfony/console/Exception/RuntimeException.php 新文件: assets/opencc/vendor/symfony/console/Formatter/NullOutputFormatter.php 新文件: assets/opencc/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php 新文件: assets/opencc/vendor/symfony/console/Formatter/OutputFormatter.php 新文件: assets/opencc/vendor/symfony/console/Formatter/OutputFormatterInterface.php 新文件: assets/opencc/vendor/symfony/console/Formatter/OutputFormatterStyle.php 新文件: assets/opencc/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php 新文件: assets/opencc/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php 新文件: assets/opencc/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php 新文件: assets/opencc/vendor/symfony/console/Helper/DebugFormatterHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/DescriptorHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/Dumper.php 新文件: assets/opencc/vendor/symfony/console/Helper/FormatterHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/Helper.php 新文件: assets/opencc/vendor/symfony/console/Helper/HelperInterface.php 新文件: assets/opencc/vendor/symfony/console/Helper/HelperSet.php 新文件: assets/opencc/vendor/symfony/console/Helper/InputAwareHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/OutputWrapper.php 新文件: assets/opencc/vendor/symfony/console/Helper/ProcessHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/ProgressBar.php 新文件: assets/opencc/vendor/symfony/console/Helper/ProgressIndicator.php 新文件: assets/opencc/vendor/symfony/console/Helper/QuestionHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/SymfonyQuestionHelper.php 新文件: assets/opencc/vendor/symfony/console/Helper/Table.php 新文件: assets/opencc/vendor/symfony/console/Helper/TableCell.php 新文件: assets/opencc/vendor/symfony/console/Helper/TableCellStyle.php 新文件: assets/opencc/vendor/symfony/console/Helper/TableRows.php 新文件: assets/opencc/vendor/symfony/console/Helper/TableSeparator.php 新文件: assets/opencc/vendor/symfony/console/Helper/TableStyle.php 新文件: assets/opencc/vendor/symfony/console/Input/ArgvInput.php 新文件: assets/opencc/vendor/symfony/console/Input/ArrayInput.php 新文件: assets/opencc/vendor/symfony/console/Input/Input.php 新文件: assets/opencc/vendor/symfony/console/Input/InputArgument.php 新文件: assets/opencc/vendor/symfony/console/Input/InputAwareInterface.php 新文件: assets/opencc/vendor/symfony/console/Input/InputDefinition.php 新文件: assets/opencc/vendor/symfony/console/Input/InputInterface.php 新文件: assets/opencc/vendor/symfony/console/Input/InputOption.php 新文件: assets/opencc/vendor/symfony/console/Input/StreamableInputInterface.php 新文件: assets/opencc/vendor/symfony/console/Input/StringInput.php 新文件: assets/opencc/vendor/symfony/console/LICENSE 新文件: assets/opencc/vendor/symfony/console/Logger/ConsoleLogger.php 新文件: assets/opencc/vendor/symfony/console/Messenger/RunCommandContext.php 新文件: assets/opencc/vendor/symfony/console/Messenger/RunCommandMessage.php 新文件: assets/opencc/vendor/symfony/console/Messenger/RunCommandMessageHandler.php 新文件: assets/opencc/vendor/symfony/console/Output/AnsiColorMode.php 新文件: assets/opencc/vendor/symfony/console/Output/BufferedOutput.php 新文件: assets/opencc/vendor/symfony/console/Output/ConsoleOutput.php 新文件: assets/opencc/vendor/symfony/console/Output/ConsoleOutputInterface.php 新文件: assets/opencc/vendor/symfony/console/Output/ConsoleSectionOutput.php 新文件: assets/opencc/vendor/symfony/console/Output/NullOutput.php 新文件: assets/opencc/vendor/symfony/console/Output/Output.php 新文件: assets/opencc/vendor/symfony/console/Output/OutputInterface.php 新文件: assets/opencc/vendor/symfony/console/Output/StreamOutput.php 新文件: assets/opencc/vendor/symfony/console/Output/TrimmedBufferOutput.php 新文件: assets/opencc/vendor/symfony/console/Question/ChoiceQuestion.php 新文件: assets/opencc/vendor/symfony/console/Question/ConfirmationQuestion.php 新文件: assets/opencc/vendor/symfony/console/Question/Question.php 新文件: assets/opencc/vendor/symfony/console/README.md 新文件: assets/opencc/vendor/symfony/console/Resources/bin/hiddeninput.exe 新文件: assets/opencc/vendor/symfony/console/Resources/completion.bash 新文件: assets/opencc/vendor/symfony/console/Resources/completion.fish 新文件: assets/opencc/vendor/symfony/console/Resources/completion.zsh 新文件: assets/opencc/vendor/symfony/console/SignalRegistry/SignalMap.php 新文件: assets/opencc/vendor/symfony/console/SignalRegistry/SignalRegistry.php 新文件: assets/opencc/vendor/symfony/console/SingleCommandApplication.php 新文件: assets/opencc/vendor/symfony/console/Style/OutputStyle.php 新文件: assets/opencc/vendor/symfony/console/Style/StyleInterface.php 新文件: assets/opencc/vendor/symfony/console/Style/SymfonyStyle.php 新文件: assets/opencc/vendor/symfony/console/Terminal.php 新文件: assets/opencc/vendor/symfony/console/Tester/ApplicationTester.php 新文件: assets/opencc/vendor/symfony/console/Tester/CommandCompletionTester.php 新文件: assets/opencc/vendor/symfony/console/Tester/CommandTester.php 新文件: assets/opencc/vendor/symfony/console/Tester/Constraint/CommandIsSuccessful.php 新文件: assets/opencc/vendor/symfony/console/Tester/TesterTrait.php 新文件: assets/opencc/vendor/symfony/console/composer.json 新文件: assets/opencc/vendor/symfony/deprecation-contracts/CHANGELOG.md 新文件: assets/opencc/vendor/symfony/deprecation-contracts/LICENSE 新文件: assets/opencc/vendor/symfony/deprecation-contracts/README.md 新文件: assets/opencc/vendor/symfony/deprecation-contracts/composer.json 新文件: assets/opencc/vendor/symfony/deprecation-contracts/function.php 新文件: assets/opencc/vendor/symfony/polyfill-ctype/Ctype.php 新文件: assets/opencc/vendor/symfony/polyfill-ctype/LICENSE 新文件: assets/opencc/vendor/symfony/polyfill-ctype/README.md 新文件: assets/opencc/vendor/symfony/polyfill-ctype/bootstrap.php 新文件: assets/opencc/vendor/symfony/polyfill-ctype/bootstrap80.php 新文件: assets/opencc/vendor/symfony/polyfill-ctype/composer.json 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/Grapheme.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/LICENSE 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/README.md 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/bootstrap.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/bootstrap80.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-grapheme/composer.json 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/LICENSE 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Normalizer.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/README.md 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/bootstrap.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php 新文件: assets/opencc/vendor/symfony/polyfill-intl-normalizer/composer.json 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/LICENSE 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/Mbstring.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/README.md 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/bootstrap.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/bootstrap80.php 新文件: assets/opencc/vendor/symfony/polyfill-mbstring/composer.json 新文件: assets/opencc/vendor/symfony/process/CHANGELOG.md 新文件: assets/opencc/vendor/symfony/process/Exception/ExceptionInterface.php 新文件: assets/opencc/vendor/symfony/process/Exception/InvalidArgumentException.php 新文件: assets/opencc/vendor/symfony/process/Exception/LogicException.php 新文件: assets/opencc/vendor/symfony/process/Exception/ProcessFailedException.php 新文件: assets/opencc/vendor/symfony/process/Exception/ProcessSignaledException.php 新文件: assets/opencc/vendor/symfony/process/Exception/ProcessTimedOutException.php 新文件: assets/opencc/vendor/symfony/process/Exception/RunProcessFailedException.php 新文件: assets/opencc/vendor/symfony/process/Exception/RuntimeException.php 新文件: assets/opencc/vendor/symfony/process/ExecutableFinder.php 新文件: assets/opencc/vendor/symfony/process/InputStream.php 新文件: assets/opencc/vendor/symfony/process/LICENSE 新文件: assets/opencc/vendor/symfony/process/Messenger/RunProcessContext.php 新文件: assets/opencc/vendor/symfony/process/Messenger/RunProcessMessage.php 新文件: assets/opencc/vendor/symfony/process/Messenger/RunProcessMessageHandler.php 新文件: assets/opencc/vendor/symfony/process/PhpExecutableFinder.php 新文件: assets/opencc/vendor/symfony/process/PhpProcess.php 新文件: assets/opencc/vendor/symfony/process/PhpSubprocess.php 新文件: assets/opencc/vendor/symfony/process/Pipes/AbstractPipes.php 新文件: assets/opencc/vendor/symfony/process/Pipes/PipesInterface.php 新文件: assets/opencc/vendor/symfony/process/Pipes/UnixPipes.php 新文件: assets/opencc/vendor/symfony/process/Pipes/WindowsPipes.php 新文件: assets/opencc/vendor/symfony/process/Process.php 新文件: assets/opencc/vendor/symfony/process/ProcessUtils.php 新文件: assets/opencc/vendor/symfony/process/README.md 新文件: assets/opencc/vendor/symfony/process/composer.json 新文件: assets/opencc/vendor/symfony/service-contracts/Attribute/Required.php 新文件: assets/opencc/vendor/symfony/service-contracts/Attribute/SubscribedService.php 新文件: assets/opencc/vendor/symfony/service-contracts/CHANGELOG.md 新文件: assets/opencc/vendor/symfony/service-contracts/LICENSE 新文件: assets/opencc/vendor/symfony/service-contracts/README.md 新文件: assets/opencc/vendor/symfony/service-contracts/ResetInterface.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceCollectionInterface.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceLocatorTrait.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceMethodsSubscriberTrait.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceProviderInterface.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceSubscriberInterface.php 新文件: assets/opencc/vendor/symfony/service-contracts/ServiceSubscriberTrait.php 新文件: assets/opencc/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php 新文件: assets/opencc/vendor/symfony/service-contracts/Test/ServiceLocatorTestCase.php 新文件: assets/opencc/vendor/symfony/service-contracts/composer.json 新文件: assets/opencc/vendor/symfony/string/AbstractString.php 新文件: assets/opencc/vendor/symfony/string/AbstractUnicodeString.php 新文件: assets/opencc/vendor/symfony/string/ByteString.php 新文件: assets/opencc/vendor/symfony/string/CHANGELOG.md 新文件: assets/opencc/vendor/symfony/string/CodePointString.php 新文件: assets/opencc/vendor/symfony/string/Exception/ExceptionInterface.php 新文件: assets/opencc/vendor/symfony/string/Exception/InvalidArgumentException.php 新文件: assets/opencc/vendor/symfony/string/Exception/RuntimeException.php 新文件: assets/opencc/vendor/symfony/string/Inflector/EnglishInflector.php 新文件: assets/opencc/vendor/symfony/string/Inflector/FrenchInflector.php 新文件: assets/opencc/vendor/symfony/string/Inflector/InflectorInterface.php 新文件: assets/opencc/vendor/symfony/string/LICENSE 新文件: assets/opencc/vendor/symfony/string/LazyString.php 新文件: assets/opencc/vendor/symfony/string/README.md 新文件: assets/opencc/vendor/symfony/string/Resources/data/wcswidth_table_wide.php 新文件: assets/opencc/vendor/symfony/string/Resources/data/wcswidth_table_zero.php 新文件: assets/opencc/vendor/symfony/string/Resources/functions.php 新文件: assets/opencc/vendor/symfony/string/Slugger/AsciiSlugger.php 新文件: assets/opencc/vendor/symfony/string/Slugger/SluggerInterface.php 新文件: assets/opencc/vendor/symfony/string/UnicodeString.php 新文件: assets/opencc/vendor/symfony/string/composer.json 新文件: assets/phpliteadmin.php 新文件: config/Caddyfile 新文件: config/nginx.conf 新文件: cron.php 新文件: cron/requirements.txt 新文件: cron/update.py 新文件: index.php 新文件: manage.php 新文件: public.php 新文件: update.php
This commit is contained in:
180
assets/opencc/vendor/overtrue/php-opencc/src/Console/BuildCommand.php
vendored
Normal file
180
assets/opencc/vendor/overtrue/php-opencc/src/Console/BuildCommand.php
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC\Console;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputDefinition;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
class BuildCommand extends Command
|
||||
{
|
||||
protected static $defaultName = 'build';
|
||||
|
||||
protected static $defaultDescription = 'Build OpenCC data files.';
|
||||
|
||||
const DICTIONARY_DIR = __DIR__.'/../../data/dictionary';
|
||||
|
||||
const PARSED_DIR = __DIR__.'/../../data/parsed';
|
||||
|
||||
const FILES = [
|
||||
'HKVariants',
|
||||
'HKVariantsRevPhrases',
|
||||
'JPShinjitaiCharacters',
|
||||
'JPShinjitaiPhrases',
|
||||
'JPVariants',
|
||||
'STCharacters',
|
||||
'STPhrases',
|
||||
'TSCharacters',
|
||||
'TSPhrases',
|
||||
'TWPhrasesIT',
|
||||
'TWPhrasesName',
|
||||
'TWPhrasesOther',
|
||||
'TWVariants',
|
||||
'TWVariantsRevPhrases',
|
||||
];
|
||||
|
||||
const MERGE_OUTPUT_MAP = [
|
||||
'TWPhrases' => ['TWPhrasesIT', 'TWPhrasesName', 'TWPhrasesOther'],
|
||||
'TWVariantsRev' => ['TWVariants'],
|
||||
'TWPhrasesRev' => ['TWPhrasesIT', 'TWPhrasesName', 'TWPhrasesOther'],
|
||||
'HKVariantsRev' => ['HKVariants'],
|
||||
'JPVariantsRev' => ['JPVariants'],
|
||||
];
|
||||
|
||||
const REVERSED_FILES = [
|
||||
'TWVariantsRev',
|
||||
'TWPhrasesRev',
|
||||
'HKVariantsRev',
|
||||
'JPVariantsRev',
|
||||
];
|
||||
|
||||
protected function configure(): void
|
||||
{
|
||||
$this
|
||||
->setDefinition(
|
||||
new InputDefinition([
|
||||
new InputOption('force', 'f', InputOption::VALUE_OPTIONAL),
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
if (! file_exists(self::DICTIONARY_DIR)) {
|
||||
mkdir(self::DICTIONARY_DIR, 0755, true);
|
||||
}
|
||||
|
||||
if (! file_exists(self::PARSED_DIR)) {
|
||||
mkdir(self::PARSED_DIR, 0755, true);
|
||||
}
|
||||
|
||||
$file = self::DICTIONARY_DIR.'/STCharacters.txt';
|
||||
|
||||
if (file_exists($file) && filemtime($file) > time() - 3600 * 24 && ! $input->hasOption('force')) {
|
||||
$output->writeln('Data files are up to date.');
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
|
||||
$this->download($output);
|
||||
$this->extract($output);
|
||||
$this->copy($output);
|
||||
$this->parse($output);
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function download(OutputInterface $output): void
|
||||
{
|
||||
$output->writeln('Downloading data files...');
|
||||
|
||||
$zip = 'https://github.com/BYVoid/OpenCC/archive/refs/heads/master.zip';
|
||||
try {
|
||||
$process = Process::fromShellCommandline('curl -L -o /tmp/opencc.zip '.$zip);
|
||||
$process->setTty(Process::isTtySupported());
|
||||
$process->run();
|
||||
} catch (\Exception $e) {
|
||||
$output->writeln('Download failed.');
|
||||
throw $e;
|
||||
}
|
||||
|
||||
$output->writeln('Done.');
|
||||
}
|
||||
|
||||
public function copy(OutputInterface $output): void
|
||||
{
|
||||
$output->write('Copying data files...');
|
||||
$process = Process::fromShellCommandline('cp -rf /tmp/opencc/OpenCC-master/data/dictionary/* '.self::DICTIONARY_DIR);
|
||||
$process->setTty(Process::isTtySupported());
|
||||
$process->run();
|
||||
$output->writeln('Done.');
|
||||
}
|
||||
|
||||
public function extract(OutputInterface $output): void
|
||||
{
|
||||
$output->write('Extracting data files...');
|
||||
$process = Process::fromShellCommandline('unzip -o /tmp/opencc.zip -d /tmp/opencc');
|
||||
$process->run();
|
||||
$output->writeln('Done.');
|
||||
}
|
||||
|
||||
public function parse(OutputInterface $output): void
|
||||
{
|
||||
$output->writeln('Parsing dictionary files...');
|
||||
|
||||
$files = array_merge(self::FILES, array_keys(self::MERGE_OUTPUT_MAP));
|
||||
|
||||
foreach ($files as $file) {
|
||||
$output->writeln('Parsing '.$file.'...');
|
||||
$txt = sprintf('%s/%s.txt', self::DICTIONARY_DIR, $file);
|
||||
if (file_exists($txt)) {
|
||||
$lines = file($txt, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
} else {
|
||||
// merge files
|
||||
$content = '';
|
||||
foreach (self::MERGE_OUTPUT_MAP[$file] as $f) {
|
||||
$content .= file_get_contents(sprintf('%s/%s.txt', self::DICTIONARY_DIR, $f));
|
||||
}
|
||||
$lines = array_filter(explode("\n", $content));
|
||||
}
|
||||
|
||||
$needReverse = in_array($file, self::REVERSED_FILES, true);
|
||||
|
||||
$words = [];
|
||||
foreach ($lines as $line) {
|
||||
[$from, $to] = explode("\t", $line);
|
||||
$to = preg_split('/\s+/', $to, -1, PREG_SPLIT_NO_EMPTY)[0] ?? null;
|
||||
|
||||
if (! $to) {
|
||||
! $to && $output->writeln('Skip '.$line);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($needReverse) {
|
||||
[$from, $to] = [$to, $from];
|
||||
}
|
||||
|
||||
// 会出现重复的词条,以最后一个为准
|
||||
$words[$from] = $to;
|
||||
}
|
||||
|
||||
$content = sprintf('<?php return %s;', var_export($words, true));
|
||||
|
||||
$target = sprintf('%s/%s.php', self::PARSED_DIR, $file);
|
||||
|
||||
file_put_contents($target, $content);
|
||||
}
|
||||
|
||||
$output->writeln('Done.');
|
||||
}
|
||||
}
|
36
assets/opencc/vendor/overtrue/php-opencc/src/Console/ConvertCommand.php
vendored
Normal file
36
assets/opencc/vendor/overtrue/php-opencc/src/Console/ConvertCommand.php
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC\Console;
|
||||
|
||||
use Overtrue\PHPOpenCC\OpenCC;
|
||||
use Overtrue\PHPOpenCC\Strategy;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputDefinition;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class ConvertCommand extends Command
|
||||
{
|
||||
protected static $defaultName = 'convert';
|
||||
|
||||
protected static $defaultDescription = '中文简繁转换,支持词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、台湾、香港、日本新字体)。';
|
||||
|
||||
protected function configure(): void
|
||||
{
|
||||
$this
|
||||
->setDefinition(
|
||||
new InputDefinition([
|
||||
new InputArgument('string', InputArgument::REQUIRED, '待转换的字符串'),
|
||||
new InputArgument('strategy', InputArgument::OPTIONAL, '转换策略', Strategy::SIMPLIFIED_TO_TRADITIONAL),
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
$output->writeln(OpenCC::convert($input->getArgument('string'), $input->getArgument('strategy')));
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
}
|
25
assets/opencc/vendor/overtrue/php-opencc/src/Contracts/ConverterInterface.php
vendored
Normal file
25
assets/opencc/vendor/overtrue/php-opencc/src/Contracts/ConverterInterface.php
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC\Contracts;
|
||||
|
||||
interface ConverterInterface
|
||||
{
|
||||
/**
|
||||
* @param array<array<string, string>> $dictionaries
|
||||
*
|
||||
*@example
|
||||
* $string = '一口吃個胖子';
|
||||
* $dictionaries = [
|
||||
* ['HKVariants' => ['一' => '壹', '個' => '個', '胖' => '胖', '子' => '子']],
|
||||
* ['STPhrases' => ['壹個' => '一個']],
|
||||
* // 可能同时包含多组词典
|
||||
* [
|
||||
* [
|
||||
* 'HKVariantsRevPhrases' => ['一個' => '壹個'],
|
||||
* 'HKVariantsRev' => ['壹' => '一', '個' => '個', '胖' => '胖', '子' => '子'],
|
||||
* ]
|
||||
* ]
|
||||
* ]
|
||||
*/
|
||||
public function convert(string $string, array $dictionaries): string;
|
||||
}
|
30
assets/opencc/vendor/overtrue/php-opencc/src/Converter.php
vendored
Normal file
30
assets/opencc/vendor/overtrue/php-opencc/src/Converter.php
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC;
|
||||
|
||||
use Overtrue\PHPOpenCC\Contracts\ConverterInterface;
|
||||
|
||||
class Converter implements ConverterInterface
|
||||
{
|
||||
public function convert(string $string, array $dictionaries): string
|
||||
{
|
||||
foreach ($dictionaries as $dictionary) {
|
||||
// [['f1' => 't1'], ['f2' => 't2'], ...]
|
||||
if (is_array(reset($dictionary))) {
|
||||
$tmp = [];
|
||||
foreach ($dictionary as $dict) {
|
||||
$tmp = array_merge($tmp, $dict);
|
||||
}
|
||||
$dictionary = $tmp;
|
||||
}
|
||||
|
||||
uksort($dictionary, function ($a, $b) {
|
||||
return mb_strlen($b) <=> mb_strlen($a);
|
||||
});
|
||||
|
||||
$string = strtr($string, $dictionary);
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
}
|
66
assets/opencc/vendor/overtrue/php-opencc/src/Dictionary.php
vendored
Normal file
66
assets/opencc/vendor/overtrue/php-opencc/src/Dictionary.php
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC;
|
||||
|
||||
class Dictionary
|
||||
{
|
||||
const SETS_MAP = [
|
||||
Strategy::SIMPLIFIED_TO_TRADITIONAL => [['STPhrases', 'STCharacters']], // S2T
|
||||
Strategy::SIMPLIFIED_TO_HONGKONG => [['STPhrases', 'STCharacters'], 'HKVariants'], // S2HK
|
||||
Strategy::SIMPLIFIED_TO_JAPANESE => [['STPhrases', 'STCharacters'], 'JPVariants'], // S2JP
|
||||
Strategy::SIMPLIFIED_TO_TAIWAN => [['STPhrases', 'STCharacters'], 'TWVariants'], // S2TW
|
||||
Strategy::SIMPLIFIED_TO_TAIWAN_WITH_PHRASE => [['STPhrases', 'STCharacters'], ['TWPhrases', 'TWVariants']], // S2TWP
|
||||
Strategy::HONGKONG_TO_TRADITIONAL => [['HKVariantsRevPhrases', 'HKVariantsRev']], // HK2T
|
||||
Strategy::HONGKONG_TO_SIMPLIFIED => [['HKVariantsRevPhrases', 'HKVariantsRev'], ['TSPhrases', 'TSCharacters']], // HK2S
|
||||
Strategy::TAIWAN_TO_SIMPLIFIED => [['TWVariantsRevPhrases', 'TWVariantsRev'], ['TSPhrases', 'TSCharacters']], // TW2S
|
||||
Strategy::TAIWAN_TO_TRADITIONAL => [['TWVariantsRevPhrases', 'TWVariantsRev']], // TW2T
|
||||
Strategy::TAIWAN_TO_SIMPLIFIED_WITH_PHRASE => [['TWPhrasesRev', 'TWVariantsRevPhrases', 'TWVariantsRev'], ['TSPhrases', 'TSCharacters']], // TW2SP
|
||||
Strategy::TRADITIONAL_TO_HONGKONG => ['HKVariants'], // T2HK
|
||||
Strategy::TRADITIONAL_TO_SIMPLIFIED => [['TSPhrases', 'TSCharacters']], // T2S
|
||||
Strategy::TRADITIONAL_TO_TAIWAN => ['TWVariants'], // T2TW
|
||||
Strategy::TRADITIONAL_TO_JAPANESE => ['JPVariants'], // T2JP
|
||||
Strategy::JAPANESE_TO_TRADITIONAL => [['JPShinjitaiPhrases', 'JPShinjitaiCharacters', 'JPVariantsRev']], // JP2T
|
||||
Strategy::JAPANESE_TO_SIMPLIFIED => [['JPShinjitaiPhrases', 'JPShinjitaiCharacters', 'JPVariantsRev'], ['TSPhrases', 'TSCharacters']], // JP2S
|
||||
];
|
||||
|
||||
const PARSED_DIR = __DIR__.'/../data/parsed';
|
||||
|
||||
/**
|
||||
* @return array<string, array<string, string>>
|
||||
*/
|
||||
public static function get(string $set): array
|
||||
{
|
||||
$set = constant(Strategy::class.'::'.strtoupper($set));
|
||||
|
||||
if (! array_key_exists($set, self::SETS_MAP)) {
|
||||
throw new \InvalidArgumentException("Dictionary set [{$set}] does not exists.");
|
||||
}
|
||||
|
||||
$dictionaries = [];
|
||||
foreach (self::SETS_MAP[$set] as $dictionary) {
|
||||
if (is_array($dictionary)) {
|
||||
$group = [];
|
||||
foreach ($dictionary as $dict) {
|
||||
$group[$dict] = self::loadDictionary($dict);
|
||||
}
|
||||
$dictionaries[] = $group;
|
||||
|
||||
continue;
|
||||
}
|
||||
$dictionaries[$dictionary] = self::loadDictionary($dictionary);
|
||||
}
|
||||
|
||||
return $dictionaries;
|
||||
}
|
||||
|
||||
protected static function loadDictionary(string $dictionary)
|
||||
{
|
||||
$dictionary = sprintf('%s/%s.php', self::PARSED_DIR, $dictionary);
|
||||
|
||||
if (! file_exists($dictionary)) {
|
||||
throw new \InvalidArgumentException("Dictionary [{$dictionary}] does not exists.");
|
||||
}
|
||||
|
||||
return require $dictionary;
|
||||
}
|
||||
}
|
61
assets/opencc/vendor/overtrue/php-opencc/src/OpenCC.php
vendored
Normal file
61
assets/opencc/vendor/overtrue/php-opencc/src/OpenCC.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC;
|
||||
|
||||
/**
|
||||
* @method static string s2t(string $input)
|
||||
* @method static string s2hk(string $input)
|
||||
* @method static string s2jp(string $input)
|
||||
* @method static string s2tw(string $input)
|
||||
* @method static string s2twp(string $input)
|
||||
* @method static string hk2t(string $input)
|
||||
* @method static string hk2s(string $input)
|
||||
* @method static string tw2s(string $input)
|
||||
* @method static string tw2t(string $input)
|
||||
* @method static string tw2sp(string $input)
|
||||
* @method static string t2hk(string $input)
|
||||
* @method static string t2s(string $input)
|
||||
* @method static string t2tw(string $input)
|
||||
* @method static string t2jp(string $input)
|
||||
* @method static string jp2t(string $input)
|
||||
* @method static string jp2s(string $input)
|
||||
* @method static string simplifiedToTraditional(string $input)
|
||||
* @method static string simplifiedToHongkong(string $input)
|
||||
* @method static string simplifiedToJapanese(string $input)
|
||||
* @method static string simplifiedToTaiwan(string $input)
|
||||
* @method static string simplifiedToTaiwan_with_phrase(string $input)
|
||||
* @method static string hongkongToTraditional(string $input)
|
||||
* @method static string hongkongToSimplified(string $input)
|
||||
* @method static string taiwanToSimplified(string $input)
|
||||
* @method static string taiwanToTraditional(string $input)
|
||||
* @method static string taiwanToSimplified_with_phrase(string $input)
|
||||
* @method static string traditionalToHongkong(string $input)
|
||||
* @method static string traditionalToSimplified(string $input)
|
||||
* @method static string traditionalToTaiwan(string $input)
|
||||
* @method static string traditionalToJapanese(string $input)
|
||||
* @method static string japaneseToTraditional(string $input)
|
||||
* @method static string japaneseToSimplified(string $input)
|
||||
*/
|
||||
class OpenCC
|
||||
{
|
||||
public static function convert(string $input, string $strategy = Strategy::SIMPLIFIED_TO_TRADITIONAL): string
|
||||
{
|
||||
$converter = new Converter();
|
||||
|
||||
return $converter->convert($input, Dictionary::get($strategy));
|
||||
}
|
||||
|
||||
public static function __callStatic(string $name, array $arguments)
|
||||
{
|
||||
// s2t() => Strategy::S2T => (), simplifiedToTraditional() -> Strategy::SIMPLIFIED_TO_TRADITIONAL
|
||||
$strategy = strtoupper(preg_replace_callback('/[A-Z]/', function ($matches) {
|
||||
return '_'.$matches[0];
|
||||
}, lcfirst($name)));
|
||||
|
||||
if (! constant(Strategy::class.'::'.strtoupper($strategy))) {
|
||||
throw new \BadMethodCallException(sprintf('Method "%s" does not exist.', $strategy));
|
||||
}
|
||||
|
||||
return static::convert($arguments[0], constant(Strategy::class.'::'.$strategy));
|
||||
}
|
||||
}
|
71
assets/opencc/vendor/overtrue/php-opencc/src/Strategy.php
vendored
Normal file
71
assets/opencc/vendor/overtrue/php-opencc/src/Strategy.php
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace Overtrue\PHPOpenCC;
|
||||
|
||||
class Strategy
|
||||
{
|
||||
// aliases
|
||||
const S2T = 'SIMPLIFIED_TO_TRADITIONAL';
|
||||
|
||||
const S2HK = 'SIMPLIFIED_TO_HONGKONG';
|
||||
|
||||
const S2JP = 'SIMPLIFIED_TO_JAPANESE';
|
||||
|
||||
const S2TW = 'SIMPLIFIED_TO_TAIWAN';
|
||||
|
||||
const S2TWP = 'SIMPLIFIED_TO_TAIWAN_WITH_PHRASE';
|
||||
|
||||
const HK2T = 'HONGKONG_TO_TRADITIONAL';
|
||||
|
||||
const HK2S = 'HONGKONG_TO_SIMPLIFIED';
|
||||
|
||||
const TW2S = 'TAIWAN_TO_SIMPLIFIED';
|
||||
|
||||
const TW2T = 'TAIWAN_TO_TRADITIONAL';
|
||||
|
||||
const TW2SP = 'TAIWAN_TO_SIMPLIFIED_WITH_PHRASE';
|
||||
|
||||
const T2HK = 'TRADITIONAL_TO_HONGKONG';
|
||||
|
||||
const T2S = 'TRADITIONAL_TO_SIMPLIFIED';
|
||||
|
||||
const T2TW = 'TRADITIONAL_TO_TAIWAN';
|
||||
|
||||
const T2JP = 'TRADITIONAL_TO_JAPANESE';
|
||||
|
||||
const JP2T = 'JAPANESE_TO_TRADITIONAL';
|
||||
|
||||
const JP2S = 'JAPANESE_TO_SIMPLIFIED';
|
||||
|
||||
const SIMPLIFIED_TO_TRADITIONAL = 'SIMPLIFIED_TO_TRADITIONAL';
|
||||
|
||||
const SIMPLIFIED_TO_HONGKONG = 'SIMPLIFIED_TO_HONGKONG';
|
||||
|
||||
const SIMPLIFIED_TO_JAPANESE = 'SIMPLIFIED_TO_JAPANESE';
|
||||
|
||||
const SIMPLIFIED_TO_TAIWAN = 'SIMPLIFIED_TO_TAIWAN';
|
||||
|
||||
const SIMPLIFIED_TO_TAIWAN_WITH_PHRASE = 'SIMPLIFIED_TO_TAIWAN_WITH_PHRASE';
|
||||
|
||||
const HONGKONG_TO_TRADITIONAL = 'HONGKONG_TO_TRADITIONAL';
|
||||
|
||||
const HONGKONG_TO_SIMPLIFIED = 'HONGKONG_TO_SIMPLIFIED';
|
||||
|
||||
const TAIWAN_TO_SIMPLIFIED = 'TAIWAN_TO_SIMPLIFIED';
|
||||
|
||||
const TAIWAN_TO_TRADITIONAL = 'TAIWAN_TO_TRADITIONAL';
|
||||
|
||||
const TAIWAN_TO_SIMPLIFIED_WITH_PHRASE = 'TAIWAN_TO_SIMPLIFIED_WITH_PHRASE';
|
||||
|
||||
const TRADITIONAL_TO_HONGKONG = 'TRADITIONAL_TO_HONGKONG';
|
||||
|
||||
const TRADITIONAL_TO_SIMPLIFIED = 'TRADITIONAL_TO_SIMPLIFIED';
|
||||
|
||||
const TRADITIONAL_TO_TAIWAN = 'TRADITIONAL_TO_TAIWAN';
|
||||
|
||||
const TRADITIONAL_TO_JAPANESE = 'TRADITIONAL_TO_JAPANESE';
|
||||
|
||||
const JAPANESE_TO_TRADITIONAL = 'JAPANESE_TO_TRADITIONAL';
|
||||
|
||||
const JAPANESE_TO_SIMPLIFIED = 'JAPANESE_TO_SIMPLIFIED';
|
||||
}
|
Reference in New Issue
Block a user