久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      翻譯接口的使用及其優(yōu)化

      ?

      本文給大家提供一個免費的翻譯接口,有空時可以試試還是很秀的哈!

      ?

      前言

      項目中必要的數(shù)據(jù)是需要寫語言包的,就像那種幾百年不變的數(shù)據(jù),但是有一類數(shù)據(jù)就是在項目的運行的過程中就在一直變化。

      對于這樣的數(shù)據(jù)我們寫成語言包顯然是不合適的,所以我們就需要借助翻譯接口來實現(xiàn)我們的需求了。

      一、翻譯接口簡單介紹

      先看一張圖吧!看一下這個翻譯接口在我們的項目中如何運用。

      翻譯接口的使用及其優(yōu)化
      在這里插入圖片描述

      這個接口總共有4個參數(shù),分別為a、f、t、w。

      這四個參數(shù)分別的意思為,a是固定的值就是fy。

      f指的是翻譯的語種。

      t指的是需要翻譯成我們需要的語種。

      w指的是需要翻譯的數(shù)據(jù)。

      二、項目實戰(zhàn)

      項目需求就是把左邊的框出來的在切換語言后跟隨這語言變動。翻譯接口的使用及其優(yōu)化首先說明一下,在上邊的這些文字不是手動寫上去的,html文件也是不存在的。是在數(shù)據(jù)庫注釋里邊配置的。

      下圖就是我們的數(shù)據(jù)庫創(chuàng)建。翻譯接口的使用及其優(yōu)化為什么這么創(chuàng)建,這樣創(chuàng)建有什么好處,我就不提了,每個團隊都有自己的想法哈!

      接著我們來到正題

      使用的代碼也就這點,接口地址就是上邊postman里邊的地址,后邊只需要傳輸一個需要翻譯的數(shù)據(jù)即可。

      本文實現(xiàn)的數(shù)據(jù)就是上圖左側(cè)的文字,也就是我們從數(shù)據(jù)庫中把注釋讀出來然后根據(jù)一定的規(guī)則把這個名字就直接作為添加或者修改時的列即可。

      那么就只需要把這個注釋直接給追加到翻譯接口后邊即可。翻譯接口的使用及其優(yōu)化給你提供一個php發(fā)起curl請求的代碼

      public function translateRequest($url, $data=array()){

      $ch = curl_init();//初始化
      //curl_setopt();//設置
      //設置
      curl_setopt($ch,CURLOPT_URL,$url); //需要獲取的 URL 地址
      curl_setopt($ch,CURLOPT_HEADER,0); //啟用時會將頭文件的信息作為數(shù)據(jù)流輸出, 此處禁止輸出頭信息
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //獲取的信息以字符串返回,而不是直接輸出
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30); //連接超時時間
      curl_setopt($ch, CURLOPT_ENCODING, 'gzip');

      //避免https 的ssl驗證
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
      curl_setopt($ch, CURLOPT_SSLVERSION, false);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

      if($data){
      curl_setopt($ch, CURLOPT_POST, 1); //post請求
      curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//post參數(shù)
      }

      //執(zhí)行
      $data = curl_exec($ch);//執(zhí)行 不輸出 內(nèi)容返回給它
      //判斷是否請求成功

      if(curl_errno($ch)){//錯誤碼
      echo 'curl error: '.curl_error($ch);//錯誤信息
      }

      $response = curl_getinfo($ch);

      switch($response['http_code']){
      case 200:
      return $data;
      break;
      default:
      exit('程序異常');
      }

      curl_close($ch);//關閉
      }

      經(jīng)過測試后看看效果,效果是實現(xiàn)了,但是你們可以私下試試哈!翻譯一組數(shù)據(jù)時速度還行,但是翻譯幾個數(shù)據(jù)時就有點慢了。

      添加頁面打開的時間大概需要3-5S,這肯定是不可以的,所以我們需要想一個辦法來解決這個問題。翻譯接口的使用及其優(yōu)化

      三、優(yōu)化翻譯速度

      在第二步中,咔咔做到最后是發(fā)現(xiàn)翻譯的速度是有點慢的,碰到字段多的更是慢的離譜。于是咔咔就想了一個辦法。

      這些數(shù)據(jù)是之前是一個一個翻譯出來的,那么我們是不是也可以一次性給翻譯出來,然后我們在來自己組裝數(shù)據(jù)。翻譯接口的使用及其優(yōu)化

      帶著這個想法我們開始實施。

      這幾行代碼最終實現(xiàn)的就是把所有的字段注釋放在一起,并且用“,”隔開翻譯接口的使用及其優(yōu)化打印出來的數(shù)據(jù)可以看一下,out字段就是翻譯出來的數(shù)據(jù),其實想都不用想一次翻譯肯定比6次翻譯速度快。

      然后拿著這組數(shù)據(jù)在轉(zhuǎn)化成數(shù)組在重新組裝到原數(shù)據(jù)里就ok了。翻譯接口的使用及其優(yōu)化這里有個小問題,可以一起關注一下。中文打印出來的是原始數(shù)據(jù)里邊的,英文是數(shù)據(jù)經(jīng)過處理的。

      很明顯可以看到返回的英文結(jié)果跟原始數(shù)據(jù)對不上。翻譯接口的使用及其優(yōu)化這里的處理也是比較簡單,如果你有更好的方案評論區(qū)見

      處理方式在獲取數(shù)據(jù)庫字段中文注釋之前把對應的索引保存到$needkey

      然后重新定義一個變量fanal,讓fanal的索引等于needkey的v,而對應的值就是result[needkey的k]

      翻譯接口的使用及其優(yōu)化

      四、總結(jié)

      這樣一個翻譯接口的使用就完成了,項目截圖就不給大家展示了哈!

      把多次翻譯改為一次翻譯,提升翻譯速度,畢竟是請求別人的東西,肯定沒有我們自己重組數(shù)據(jù)快。

      ?

      堅持學習、堅持寫博、堅持分享是咔咔從業(yè)以來一直所秉持的信念。希望在諾大互聯(lián)網(wǎng)中咔咔的文章能帶給你一絲絲幫助。

      ?

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號