Skip to content

Commit cbd6f86

Browse files
authored
Merge pull request #432 from zigzagdev/fix/command-translation-refactor
refactor: Translation API fetching Command
2 parents fe2d64a + aecac84 commit cbd6f86

1 file changed

Lines changed: 43 additions & 26 deletions

File tree

src/app/Console/Commands/TranslateShortDescriptionJapanese.php

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class TranslateShortDescriptionJapanese extends Command
2323
*
2424
* @var string
2525
*/
26-
protected $description = 'Command description';
26+
protected $description = 'Translate UNESCO world heritage short_description and description into Japanese, and persist them into world_heritage_descriptions.';
2727

2828
/**
2929
* Execute the console command.
@@ -102,20 +102,15 @@ public function handle(): int
102102
$shortDescriptionJa = $translated['short_description_ja'] ?? null;
103103
$descriptionJa = $translated['description_ja'] ?? null;
104104

105-
if (!$this->option('dry-run')) {
106-
WorldHeritageDescription::updateOrCreate(
107-
['world_heritage_site_id' => $idNo],
108-
[
109-
'short_description_en' => $shortDescriptionEn,
110-
'short_description_ja' => $shortDescriptionJa,
111-
'description_en' => $descriptionEn,
112-
'description_ja' => $descriptionJa,
113-
]
114-
);
115-
}
116-
117-
$sites[$index]['short_description_ja'] = $shortDescriptionJa;
118-
$sites[$index]['description_ja'] = $descriptionJa;
105+
$this->persistTranslation(
106+
$idNo,
107+
$shortDescriptionEn,
108+
$shortDescriptionJa,
109+
$descriptionEn,
110+
$descriptionJa,
111+
$sites,
112+
$index,
113+
);
119114
$bar->advance();
120115
continue;
121116
}
@@ -151,19 +146,16 @@ public function handle(): int
151146
? $shortDescriptionJa
152147
: $translations[1]['translatedText'];
153148

154-
WorldHeritageDescription::updateOrCreate(
155-
['world_heritage_site_id' => $idNo],
156-
[
157-
'short_description_en' => $shortDescriptionEn,
158-
'short_description_ja' => $shortDescriptionJa,
159-
'description_en' => $descriptionEn,
160-
'description_ja' => $descriptionJa,
161-
]
149+
$this->persistTranslation(
150+
$idNo,
151+
$shortDescriptionEn,
152+
$shortDescriptionJa,
153+
$descriptionEn,
154+
$descriptionJa,
155+
$sites,
156+
$index,
162157
);
163158

164-
$sites[$index]['short_description_ja'] = $shortDescriptionJa;
165-
$sites[$index]['description_ja'] = $descriptionJa;
166-
167159
$bar->advance();
168160
usleep(200000);
169161
}
@@ -189,4 +181,29 @@ public function handle(): int
189181

190182
return 0;
191183
}
184+
185+
private function persistTranslation(
186+
$idNo,
187+
string $shortDescriptionEn,
188+
?string $shortDescriptionJa,
189+
string $descriptionEn,
190+
?string $descriptionJa,
191+
array &$sites,
192+
int $index,
193+
): void {
194+
if (!$this->option('dry-run')) {
195+
WorldHeritageDescription::updateOrCreate(
196+
['world_heritage_site_id' => $idNo],
197+
[
198+
'short_description_en' => $shortDescriptionEn,
199+
'short_description_ja' => $shortDescriptionJa,
200+
'description_en' => $descriptionEn,
201+
'description_ja' => $descriptionJa,
202+
]
203+
);
204+
}
205+
206+
$sites[$index]['short_description_ja'] = $shortDescriptionJa;
207+
$sites[$index]['description_ja'] = $descriptionJa;
208+
}
192209
}

0 commit comments

Comments
 (0)