/var/www/hkosl.com/littleark/webadmin/models/LanguagePending.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

use Illuminate\Database\Capsule\Manager as DB;
use 
Carbon\Carbon as Carbon;

class 
LanguagePending extends BaseModel{
    protected 
$table "language_pending";

    public static 
$language_map;

    public static function 
initLanguageMap(){
        
// vdump(__FUNCTION__);
        
if(!self::$language_map){
            
$sysLangs SysLang::where('langstatus'1)->get();
            foreach(
$sysLangs as $sysLang){
                
self::$language_map[$sysLang['langcode']] = $sysLang['iso_639_1'];
            }
            
vdump(self::$language_map);
        }
    }

    public function 
translate($api$target_language=false){
        
self::initLanguageMap();
        foreach(
self::$language_map as $langcode => $lang_iso){
            switch (
$langcode) {
                case 
'en':
                    break;

                default:
                    
vdump(__FUNCTION__$this->name_en$langcode$this["name_{$langcode}"]);
                    
// vdump("Translate {$target_language} {$langcode}");
                    
if($this->name_en && $this["name_{$langcode}"]==''){
                        
$result $api->translate($this->name_en$lang_iso);
                        
$this["name_{$langcode}"] = $result;
                        
vdump($result);
                    }
                    break;
            }
        }
        return 
$this;
    }

    public static function 
translateAll(){
        
$googleTranslateApi = new GoogleTranslateApi;
        foreach(
self::whereDeleted(0)->get() as $languagePending){
            
// $languagePending = self::whereDeleted(0)->first();
            
$languagePending->translate($googleTranslateApi)->save();
        }
    }
}