Glossary v3

This commit is contained in:
2025-06-19 02:35:45 +00:00
parent 31c3a20061
commit b770ba83d6
5 changed files with 66 additions and 50 deletions

View File

@@ -1,9 +1,10 @@
<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/env.php';
$deeplClient = new \DeepL\DeepLClient($deepl_api_key);
$zhToEnGlossary = $deeplClient->createGlossary('Furry ZH to EN', 'zh', 'en', \DeepL\GlossaryEntries::fromEntries([
$dicts = [];
$dicts []= new \DeepL\MultilingualGlossaryDictionaryEntries('zh', 'en', [
'兽设' => 'fursona',
'兽人' => 'furry character',
'兽控' => 'furry',
@@ -17,12 +18,8 @@ $zhToEnGlossary = $deeplClient->createGlossary('Furry ZH to EN', 'zh', 'en', \De
'哇塞' => 'wa sai',
'色色' => 'sese',
'変态' => 'hentai',
]));
echo "Created '$zhToEnGlossary->name' ($zhToEnGlossary->glossaryId) " .
"$zhToEnGlossary->sourceLang to $zhToEnGlossary->targetLang " .
"containing $zhToEnGlossary->entryCount entries\n";
$enToZhGlossary = $deeplClient->createGlossary('Furry EN to ZH', 'en', 'zh', \DeepL\GlossaryEntries::fromEntries([
]);
$dicts []= new \DeepL\MultilingualGlossaryDictionaryEntries( 'en', 'zh', [
'fursona' => '兽设',
'furry character' => '兽人',
'furry' => '兽控',
@@ -40,20 +37,44 @@ $enToZhGlossary = $deeplClient->createGlossary('Furry EN to ZH', 'en', 'zh', \De
'wa sai' => '哇塞',
'commission' => '委托',
'dalao' => '大佬',
]));
echo "Created '$enToZhGlossary->name' ($enToZhGlossary->glossaryId) " .
"$enToZhGlossary->sourceLang to $enToZhGlossary->targetLang " .
"containing $enToZhGlossary->entryCount entries\n";
]);
$dicts []= new \DeepL\MultilingualGlossaryDictionaryEntries( 'en', 'ja', [
'fursuit' => '着ぐるみ',
'vore' => '丸呑み',
'bussy' => 'ケツマンコ',
'hentai' => '変態',
'oppai' => 'おっぱい',
'ochinchin' => 'おちんちん',
'kemoner' => 'ケモナー',
'furry' => 'ファーリー',
]);
$dicts []= new \DeepL\MultilingualGlossaryDictionaryEntries( 'ja', 'en', [
'着ぐるみ' => 'fursuit',
'丸呑み' => 'vore',
'ケツマンコ' => 'bussy',
'変態' => 'hentai',
'おっぱい' => 'oppai',
'おちんちん' => 'ochinchin',
'ケモナー' => 'kemoner',
'ファーリー' => 'furry',
]);
file_put_contents(__DIR__ . '/glossary.json', json_encode([
'zh' => ['en' => $zhToEnGlossary->glossaryId],
'en' => ['zh' => $enToZhGlossary->glossaryId],
]));
echo("\nCleaning up other unused glossaries...\n");
foreach ($deeplClient->listGlossaries() as $glossary) {
if (!(in_array($glossary->glossaryId, [$enToZhGlossary->glossaryId, $zhToEnGlossary->glossaryId]))) {
echo("Unused glossary found, deleting '$glossary->name' ($glossary->glossaryId)\n");
$deeplClient->deleteGlossary($glossary);
$GLOSSARY_NAME = 'Furry glossary';
echo("Checking for existing copy of \"$GLOSSARY_NAME\"...\n");
foreach ($deeplClient->listMultilingualGlossaries() as $glossary) {
if ($glossary->name === $GLOSSARY_NAME) {
echo("Found existing ID $glossary->glossaryId, updating in-place\n");
$found = true;
foreach ($dicts as $dict) {
echo ('- Replacing dictionary for ' . $dict->sourceLang . ' to ' . $dict->targetLang . "\n");
$deeplClient->replaceMultilingualGlossaryDictionary($glossary, $dict);
}
echo("Done");
exit(0);
}
}
}
echo("No existing glossary found, creating a new one\n");
$myGlossary = $deeplClient->createMultilingualGlossary('Furry glossary', $dicts);
echo("Glossary created: $myGlossary->name ID: $myGlossary->glossaryId\n");
echo("put this id in .env file\n");