Completed
Push — master ( 13d108...569492 )
by Aitor Riba
02:40
created

Builder::allLanguages()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Aitor24\Laralang;
4
5
use Aitor24\Laralang\Builder\ApertiumTrans;
6
use Aitor24\Laralang\Builder\Exception;
7
use Aitor24\Laralang\Builder\MymemoryTrans;
8
use Aitor24\Laralang\Models\DB_Translation;
9
10
class Builder
11
{
12
    /**
13
     * Get the trnaslation.
14
     *
15
     * @param string $string
16
     *
17
     * @return object
18
     */
19
    public static function trans($string)
20
    {
21
        $translator = config('laralang.default.translator');
22
        if (!in_array(config('laralang.default.translator'), ['apertium', 'mymemory'])) {
23
            return "<font style='color:red;'>Laralang doesn't support $translator translator. Check config</font>";
24
        } else {
25
            if (config('laralang.default.translator') == 'mymemory') {
26
                return new MymemoryTrans($string);
27
            } elseif (config('laralang.default.translator') == 'apertium') {
28
                return new ApertiumTrans($string);
29
            }
30
        }
31
    }
32
33
    /**
34
     * Get the languages used.
35
     *
36
     * @return array
37
     */
38
    public static function languages()
39
    {
40
        $locales = [];
41
        $translations = DB_Translation::distinct()->select('to_lang')->get();
42
        foreach ($translations as $object) {
43
            array_push($locales, $object->to_lang);
44
        }
45
        return $locales;
46
    }
47
48
    /**
49
     * Get all the available languages.
50
     *
51
     * @return array
52
     */
53
    public static function allLanguages()
54
    {
55
        return ['English' => 'en', 'Spanish' => 'es', 'Catalan' => 'ca', 'Portuguese' => 'pt', 'Chinese' => 'zh', 'Japanese' => 'ja', 'German' => 'de', 'French' => 'fr'];
56
    }
57
}
58