【问题标题】:Website text on one php page (multi language website)一个 php 页面上的网站文本(多语言网站)
【发布时间】:2015-01-05 06:03:09
【问题描述】:

我知道这可能已经被问过了,但我不确定它是如何被调用的......

我所需要的只是带有所有文本替换的 PHP 文件。

E.G.

$logo = MY Website Logo;
$vTitle1 = Video Tile First;


这是我未来多语言网站所需要的。

【问题讨论】:

标签: php variables replace multilingual hashtag


【解决方案1】:

您可以创建多个文件(例如 en.php、fr.php),然后您可以使用以下方法包含其中的任何一个:

include_once("en.php");

或更通用和安全的方式(感谢@Timothy 的建议):

$langArray = array( "en" => "en.php", "es" => "es.php", "fr" => "fr.php" );
if (isset($langArray[$_POST['lang']]));
    include_once($langArray[$_POST['lang']]);
else // default language
    include_once("en.php")

由于上述代码是根据文件名(语言名)加载变量,相同的变量可以引用不同的(特定于语言的)值。例如:

zh.php

$welcome = "Hello";
$submit  = "Submit";
$cancel  = "Cancel";

es.php

$welcome = "Hola";
$submit  = "Bla bla";
$cancel  = "bla bla2";

及用法:

<?php include_once("en.php"); ?>
<html>
...
<div id='greetings'> <?php echo $welcome . " " . $username; ?> </div>

【讨论】:

  • 不包括 $lang.".php" 使用来自 $_POST 的数据,您可以通过创建一个指向文件名的数组来使其更安全一点,例如 $langfile = array("en "=>"en.php", "ru"=>"ru.php", "es"=>"es.php");那么你可以询问$langfile[$_POST['lang']],如果没有找到,例如默认为英文。
  • 这里给出的答案会起作用,这不是本地化网站的正确方法。看看gettext()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
  • 2019-12-27
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多