Skip to content

Commit f78e32a

Browse files
author
Martynas Sudintas
committed
Merge pull request #21 from martiis/import_fix
Import HOTFIX
2 parents f00113f + 15518da commit f78e32a

File tree

3 files changed

+23
-27
lines changed

3 files changed

+23
-27
lines changed

Storage/ElasticsearchStorage.php

+15-15
Original file line numberDiff line numberDiff line change
@@ -65,23 +65,23 @@ public function read($locales = [], $domains = [])
6565
*/
6666
public function write(array $translations)
6767
{
68-
foreach ($translations as $domain => $domainTrans) {
69-
/** @var Translation $document */
68+
foreach ($translations as $path => $domains) {
69+
foreach ($domains as $domain => $transMeta) {
70+
foreach ($transMeta['translations'] as $key => $keyTrans) {
71+
$document = $this->getRepository()->createDocument();
72+
$document->setDomain($domain);
73+
$document->setKey($key);
74+
$document->setPath($path);
75+
$document->setFormat($transMeta['format']);
7076

71-
foreach ($domainTrans['translations'] as $key => $keyTrans) {
72-
$document = $this->getRepository()->createDocument();
73-
$document->setDomain($domain);
74-
$document->setKey($key);
75-
$document->setPath($domainTrans['path']);
76-
$document->setFormat($domainTrans['format']);
77-
78-
foreach ($keyTrans as $locale => $trans) {
79-
$message = new Message();
80-
$message->setLocale($locale);
81-
$message->setMessage($trans);
82-
$document->addMessage($message);
77+
foreach ($keyTrans as $locale => $trans) {
78+
$message = new Message();
79+
$message->setLocale($locale);
80+
$message->setMessage($trans);
81+
$document->addMessage($message);
82+
}
83+
$this->getRepository()->getManager()->persist($document);
8384
}
84-
$this->getRepository()->getManager()->persist($document);
8585
}
8686
}
8787

Tests/Functional/Service/ImportTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ public function getExpectedTranslationsData()
5454
*/
5555
public function testImport($expectedTranslations)
5656
{
57-
$importService = $this->getContainer()->get('ongr_translations.import');
57+
$translations = $this->getContainer()->get('ongr_translations.import')->getTranslations();
5858

5959
$this->assertArraySubset(
6060
$expectedTranslations['messages'],
61-
$importService->getTranslations()['messages']['translations']
61+
reset($translations)['messages']['translations']
6262
);
6363
}
6464

Translation/Import/FileImport.php

+6-10
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,6 @@
2020
*/
2121
class FileImport
2222
{
23-
/**
24-
* @var array
25-
*/
26-
private $translations = [];
27-
2823
/**
2924
* @var LoadersContainer
3025
*/
@@ -49,21 +44,22 @@ public function import(SplFileInfo $file)
4944
{
5045
list($domain, $locale, $extension) = explode('.', $file->getFilename());
5146

47+
$translations = [];
48+
5249
if ($this->loadersContainer->has($extension)) {
5350
/* @var MessageCatalogue $messageCatalogue */
5451
$messageCatalogue = $this->loadersContainer->get($extension)->load($file, $locale, $domain);
5552
$domainMessages = $messageCatalogue->all($domain);
5653

5754
if (!empty($domainMessages)) {
58-
$this->translations[$domain]['path'] = pathinfo($file->getPathname(), PATHINFO_DIRNAME);
59-
$this->translations[$domain]['format'] = $file->getExtension();
60-
55+
$path = pathinfo($file->getPathname(), PATHINFO_DIRNAME);
56+
$translations[$path][$domain]['format'] = $file->getExtension();
6157
foreach ($domainMessages as $key => $content) {
62-
$this->translations[$domain]['translations'][$key][$locale] = $content;
58+
$translations[$path][$domain]['translations'][$key][$locale] = $content;
6359
}
6460
}
6561
}
6662

67-
return $this->translations;
63+
return $translations;
6864
}
6965
}

0 commit comments

Comments
 (0)