Home >Backend Development >PHP Tutorial >Website language English solution - achieved by changing the buffer zone

Website language English solution - achieved by changing the buffer zone

WBOY
WBOYOriginal
2016-07-25 08:50:291279browse
/*
Website language English solution - realized by changing the buffer
Function: Determine the language selected by the user based on the cookie, the default is Chinese (no replacement is performed), when the user selects English on the page, it is written through JS Cookie language status code, this page determines whether to perform language translation by changing cookies.
Description: The front-end uses JS to determine the language selected by the user. When the user selects English, JS writes the cookie language status as 'EN', and the background program passes Determine the language encoding saved by the cookie and perform the language translation operation.
Author: aibhsc
Usage: Add the Chinese and English to be replaced in the following file, and then quote the file in the program entry file.
Application scenario: For corporate websites that do not have English For websites that are often used and it is too expensive to modify the program and database, but must have English websites, you can try this program.
*/
  1. /*
  2. Website language processing program - implemented by changing the buffer
  3. Function: Determine the language selected by the user based on the cookie, the default is Chinese (no replacement is performed), when the user selects on the page When it is English, the cookie language status code is written through JS. This page determines whether to perform language translation by judging whether to change the cookie.
  4. Note: The language selected by the user is judged through JS on the front end. When the user selects English, JS writes the cookie language status is 'EN', the background program performs language translation operations by judging the language encoding saved by the cookie.
  5. Author: aibhsc
  6. Instructions for use: Add the Chinese and English to be replaced in the following file, and then quote the file in the program entry file.
  7. Application scenarios: For websites where English is not often used on corporate websites, and it is too expensive to modify the program and database, but must be in English, you can try this program.
  8. */
  9. //Storage language packages through one-dimensional arrays to save space , to facilitate key processing, note: ① Don’t misplace key values; ② Long strings are given priority
  10. //Language pack, put the content to be translated here——start
  11. $cn[]='User login';$en []='UserLogin';
  12. $cn[]='Login';$en[]='Login';
  13. $cn[]='Register';$en[]='Reg';
  14. $cn[] ='Home';$en[]='Home';
  15. $cn[]='View';$en[]='View';
  16. $cn[]='Where to go';$en[]='Local ';
  17. $cn[]='Drill Weight';$en[]='Weight';
  18. $cn[]='National Inspection';$en[]='NGTC';
  19. $cn[]='' ;$en[]='';
  20. //Language package - end
  21. //Global definition, reference language package.
  22. $GLOBALS['global_CN']=&$cn;
  23. $GLOBALS['global_EN']= &$en;
  24. $GLOBALS['global_lang']=$_COOKIE['user_lang']?$_COOKIE['user_lang']:'CN';
  25. cache(); //Perform language translation operation
  26. function cache( ){
  27. ob_start(array($this, "AutoCache")); //If you don't understand this line, please check the fourth example "Example #4" in the PHP manual call_user_func
  28. }
  29. function cn2en($body){ // Parameters: $body The content to be translated; $arr_cn Chinese language pack; $arr_en English language pack; Return value: Replaced string
  30. //When the key values ​​of the two language packs are incorrect, the original value is returned without any operation.
  31. if(count($GLOBALS['global_CN'])<>count($GLOBALS['global_EN'])){return $body;}
  32. //When the user selects English, the Chinese in the document will be Language pack to replace with English
  33. if($GLOBALS['global_lang']=='EN'){$body=str_ireplace($GLOBALS['global_CN'],$GLOBALS['global_EN'],$body);}
  34. return $body;
  35. }
  36. function AutoCache($contents){
  37. $contents = cn2en($contents); //Execute language translation
  38. return $contents;
  39. }
  40. ?>
Copy code


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn