将单一语言软件更改为双语

时间:2015-02-04 11:51:44

标签: php sql sql-server

我正在拥有一个庞大的医院管理软件,在PHP和后端SQL Server中开发了500多个屏幕。现在我想将HMS改为双语。目前,所有屏幕都是静态的,即屏幕上的标签/文本不是来自DB,而是硬编码的。像下面的屏幕截图一样。

enter image description here

在上面的屏幕中,所有文本"登录","用户名","密码"等都是硬编码的。

我的问题是采用哪种方法动态更改文本。

  1. 我应该用这两种语言创建一个包含列名的表,然后逐个更改标签
  2. 或其他一些想法
  3. 提前致谢。

1 个答案:

答案 0 :(得分:1)

我见过的一种方法是创建单独的语言文件

例如

public_html
    /lang
        /en
            lang.php
        /fr
            lang.php

每个文件都包含一个数组

en/lang.php
$lang = array(
    'login-title' => 'Login',
    'username-label' => 'Username'
);

fr/lang.php
$lang = array(
    'login-title' => 'Entrer',
    'username-label' => 'Pseudo'
);

(不要判断我使用谷歌翻译!)

请务必注意,数组及其键在每个文件中都命名为相同,只有值会发生变化。

现在使用一些会话变量,或者通过解析语言参数的URL,您可以加载相应的语言文件,并且由于数组键完全相同,您可以分别回显每个。

echo $lang['login-title'];

我特别喜欢这种方法的一件事是,如果您需要翻译人员来完成工作,您可以将文件发送给他们,因为它是一种非常基本的格式,他们通常可以直接将更改实现到数组中。 (指导很少)