首次运行后转向 Worldwide 目录,选择后转向匹配的语言目录,带记忆功能。

    1. 主索引脚本。


    源码:latest.zip -> /01-directory/index.php

    示例 2:内部加载文件 & 嵌入式

    自动搜索匹配目录下的文件,没有搜索到则选择默认调用文件。

    1. 主索引脚本。

    1. /* 初始化应用程序 /
      $app = new lp();

    2. /* 创建和配置应用程序 /
      $app->useURL = true;

    3. /* 运行应用程序 /
      $app->run();
      ?>



    源码:latest.zip -> /02-embed/index.php
    2. 在 routes 下创建匹配的语言文件。例如:

    1. en-us.php

    2. <html>
      <body>
      Embedded en-us.php files;
      </body>
      </html>

    3. zh-cn.php

    4. <html>
      <body>
      嵌入 zh-cn.php 文件;
      </body>
      </html>



    请参阅 latest.zip -> /02-embed/routes 目录下的文件。
    3. 创建新页面!

    使用模板 02-embed/templet.php 文件,用户自行更改为新文件名(示例为:newpage.php)。

    1. <?php
      includeonce_DIR . '/routes/lp-class.php';

    2. /* 初始化应用程序 /
      $app = new lp();

    3. /* 创建和配置应用程序 /
      $app->masterCatalogue = "routes/{newpage}";

    4. /* 运行应用程序 /
      $app->run();
      ?>



    创建目录及匹配的语言

    1. 进入 02-embed/module/newpage,创建目录必须与 {newpage} 变量名一致。


    创建主题皮肤

    1. 进入 02-embed/themes 并创建 newpage.php 文件。


    访问模式

    1. 02-embed/newpage.php
      02-embed/?load=newpage



    自动搜索匹配的语言文件并加载后调用,包括:字串符、参数等。

    1. 加载脚本(index.php)。

    1. <?php
      includeonce_DIR . '/routes/lp-class.php';

    2. /* 初始化应用程序 /
      $app = new lp();

    3. /* 创建和配置应用程序 /
      $app->useURL = true;

    4. /* 运行应用程序 /
      $app->run();
      ?>



    源码:latest.zip -> /03-load/index.php
    2. Html 与 PHP 语言混排,例如:

    1. <?php echo $lpvar['lang_available']; ?>


    请参阅 latest.zip -> /03-load/languages/ 目录下的 en-us.php & zh-cn.php 文件。
    3. 创建可匹配的语言模板。例如:

    1. en-us.php

    2. <?php
      $lpvar = array (
      'lang_available' => 'Available Languages:',
      );
      ?>

    3. zh-cn.php

    4. <?php
      $lpvar = array (
      'lang_available' => '可用语言:',
      );
      ?>



    请参阅 latest.zip -> /03-load/languages/ 目录下的 en-us.php, zh-cn.php 文件。
    4. 创建新页面!

    使用模板 03-load/templet.php 文件,用户自行更改为新文件名(示例为:newpage.php)。

    1. <?php
      includeonce_DIR . '/routes/lp-class.php';

    2. /* 初始化应用程序 /
      $app = new lp();

    3. /* 创建和配置应用程序 /
      $app->masterCatalogue = 'languages/{newpage}';
      $app->userThemes = '{newpage}';

    4. /* 运行应用程序 /
      $app->run();
      ?>



    创建目录及匹配的语言

    1. 进入 03-load/module/newpage,创建目录必须与 {newpage} 变量名一致。


    访问模式

    1. 03-load/newpage.php
      03-load/?load=newpage



    示例 4:保存设置 & 配置式

    该示例与动态读写 Cookies 不同;将配置保存到 xml 或 cfg,通过读取来选择可用的首选语言包,不接受浏览器默认语言来优先选择。

    1. 主索引脚本。

    1. <?php
      includeonce_DIR . '/routes/lp-class.php';

    2. /* 初始化应用程序 /
      $app = new lp();

    3. /* 运行应用程序 /
      $app->run();
      ?>



    源码:latest.zip -> /04-settings/index.php
    2. 创建一个可用的全局参数。例如:



      请参阅 latest.zip -> /04-settings/lang-cfg-sample.php 文件。
      3. 创建新页面!

      使用模板 04-settings/templet.php 文件,用户自行更改为新文件名(示例为:newpage.php)。

      1. <?php
        includeonce_DIR . '/routes/lp-class.php';

      2. /* 初始化应用程序 /
        $app = new lp();

      3. /* 创建和配置应用程序 /
        $app->masterCatalogue = "routes/{newpage}";

      4. /* 运行应用程序 /
        $app->run();
        ?>



      创建目录及匹配的语言

      1. 进入 04-settings/module/newpage,创建目录必须与 {newpage} 变量名一致。



      通过 PDO 方式连接 SQL 数据库,支持 MySQL、SQLite。并使用数组(Array)功能列出所有可用的数据。

      1. lp-load 脚本。

      1. <?php
        require_once('lp-load.php');

      2. /* Browser session /
        if (!session_id()) session_start();
        header('Cache-control: private');

      3. $db = new db();

      4. if(isSet($_GET['lang'])) {
        $lang = strtolower($_GET['lang']);

      5. /** Cookie: Setting, Register */
      6. $_SESSION[&#39;lang&#39;] = $lang;
      7. $_COOKIE[&#34;lang&#34;] = $lang;
      8. $current_lng = $db-&gt;select(DB_PREFIX.&#34;language&#34;, &#34;code = &#39;$lang&#39;&#34;);
      9.     $_COOKIE[&#34;lang&#34;] = $lang;
      10.     $lng = $lang;
      11. } else {
      12.     $lng = &#34;en-us&#34;;
      13. }
      14. } else if(isSet($_COOKIE['lang'])) {
        $lang = $_COOKIE["lang"];
        $current_lng = $db->select(DB_PREFIX."language", "code = '$lang'");
        if ($current_lng) {
        $_COOKIE["lang"] = $lang;
        $lng = $lang;
        } else {
        $lng = "en-us";
        }
        } else {
        preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
        $lang = strtolower($matches[1]);
        $_COOKIE["lang"] = $lang;
        setcookie("lang", $lang, time() + (3600 24 30), '/');

      15. $current_lng = $db-&gt;select(DB_PREFIX.&#34;language&#34;, &#34;code = &#39;$lang&#39;&#34;);
      16. if ($current_lng) {
      17.     $_COOKIE[&#34;lang&#34;] = $lang;
      18.     $lng = $lang;
      19. } else {
      20.     $lng = &#34;en-us&#34;;
      21. }
      22. }
        ?>



      源码:latest.zip -> /05-database/lp-load.php
      2. lp-config 配置。

      1. <?php
        / SQL 连接模式 */
        define('Database_Mode', 'mysql');
        /
        可接受值: mysql , sqlite */

      2. /* MySQL 主机 /
        define('DB_HOST', 'localhost');

      3. /* MySQL 数据库名称 /
        define('DB_NAME', 'lang-php');

      4. /* MySQL 用户 /
        define('DB_USER', 'root');

      5. /* MySQL 密码 /
        define('DB_PWD', '');

      6. /* 数据库前缀 /
        define('DBPREFIX', 'lp');



      源码:latest.zip -> /05-database/lp-config.php
      3. 当前页面连接字串。

      1. <?php
        require_once('lp-load.php');

      2. /* 设置当前页面变量 /
        $page_team = 'homepage';

      3. /* SQL 连接字串符 /
        $current_lng = $db->select(DB_PREFIX."translate", "section = '$page_team'");
        $lpna = $db->arraymodify($current_lng, $lng);
        ?>



      请参阅 latest.zip -> /05-database/index.php 文件。
      数组调用方法。


        使用 print_r 命令输出所有数组。

        1. <?php print_r($lpna); ?>

        4. 创建新页面!

        使用模板 05-database/templet.php 文件,用户自行更改为新文件名(示例为:newpage.php)。

        1. 修改当前页面名称,以便索引。
          /* Main Folder /
          $page_team = 'newpage';



        示例 6:独立版 & 便携式

        利用 array() 语言结构建一个数组,通过函数来完成所有操作;相对其它版本,便携版是由一个文件来完成。

        1. 便携式主脚本(index.php)。

        1. <?php
          /* 添加并设置可用的语言包 /
          $global_lp_all = array('en-us', 'zh-cn', 'zh-tw', 'de-de', 'ja-jp', 'ko-kr', 'ru-ru');11

        2. /* 浏览器 session /
          if (!session_id()) session_start();
          header('Cache-control: private');

        3. if(isSet($_GET['lang'])) {
          $lang = strtolower($_GET['lang']);

        4. $_SESSION[&#39;lang&#39;] = $lang;
        5. $_COOKIE[&#34;lang&#34;] = $lang;
        6. setcookie(&#34;lang&#34;, $lang, time() + (3600 * 24 * 30), &#39;/&#39;);
        7.     $_COOKIE[&#34;lang&#34;] = $lang;
        8.     $_SESSION[&#39;lang&#39;] = $lang;
        9.     $lng = $lang;
        10. }
        11. } else if(isSet($_COOKIE['lang'])) {
          if (in_array($_COOKIE['lang'], $global_lp_all)) {
          $lng = $_COOKIE['lang'];
          } else {
          $lng = 'en-us';
          }
          } else {
          preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
          $lang = strtolower($matches[1]);
          setcookie("lang", $lang, time() + (3600 24 30), '/');
          $_COOKIE["lang"] = $lang;

        12. if (in_array($lang, $global_lp_all)) {
        13.     $_COOKIE[&#34;lang&#34;] = $lang;
        14.     $_SESSION[&#39;lang&#39;] = $lang;
        15.     $lng = $lang;
        16. }
        17. }

        18. $lpna = array (
          'lang_page_title' => array (
          'en-us' => 'United States - English',
          'zh-cn' => '简体中文 - 中国')
          );
          ?>



        使用时请注意数组写法,数组演示仅列出部分,请查阅源代码:latest.zip -> /06-portable/index.php
        2. 预先设置可用的语言包,通过查询条件来完成。
        数组示例:

        1. $global_lp_all = array('en-us', 'zh-cn', 'zh-tw', 'de-de', 'ja-jp', 'ko-kr', 'ru-ru');

        查询条件:

        1. <?
          if (in_array($_GET['lang'], $global_lp_all)) {
          $lng = $_GET['lang'];
          } else {
          $lng = 'en-us';
          }
          ?>

        3. 数组调用方法。

        1. <?php echo $lpna['lang_page_title'][$lng]; ?>

        使用 print_r 命令输出所有数组。

        1. <?php print_r($lpna); ?>

        4. 资源转换。

        在使用便携版过程中,例如:图片、ICO,需要转换成 base64 编码。javascript、CSS 等资源,用嵌入代码来完成,缩短可以使用精简工具。
        离线完成转换资源为 base64 编码
        PHP 脚本

        1. <?php
          $path = 'assets/logo/logo.png';
          $type = pathinfo($path, PATHINFO_EXTENSION);
          $data = file_get_contents($path);
          $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

        2. echo $base64;
        3. ?>


        C# 脚本

        1. using (Image image = Image.FromFile(Path)) {
          using (MemoryStream m = new MemoryStream()) {
          image.Save(m, image.RawFormat);
          byte[] imageBytes = m.ToArray();

        2.        // Convert byte[] to Base64 String
        3.        string base64String = Convert.ToBase64String(imageBytes);
        4.        return base64String;
        5. }
        6. }


        JAVA 脚本

        1. public static String encodeToString(BufferedImage image, String type) {
          String base64String = null;
          ByteArrayOutputStream bos = new ByteArrayOutputStream();
          try {
          ImageIO.write(image, type, bos);
          byte[] imageBytes = bos.toByteArray();
          BASE64Encoder encoder = new BASE64Encoder();
          base64String = encoder.encode(imageBytes);
          bos.close();
          } catch (IOException e) {
          e.printStackTrace();
          }
          return base64String;
          }

        PYTHON 脚本


        RUBY 脚本

        1. #!/usr/bin/env ruby
          include_once'base64'
          File.open('assets/logo/logo.png', 'r') do|image_file|1
          puts Base64.encode64(image_file.read)
          end

        在线转换网站推荐