2015-02-04 4 views
-1

У меня есть огромное программное обеспечение для управления больницей с более чем 500 экранами, разработанными на PHP и back-end SQL Server. Теперь я хочу изменить HMS на двуязычный. В настоящее время все экраны являются статическими, т. Е. Метки/текст на экранах не поступают из БД, а жестко закодированы. Что-то вроде ниже Screen Shot.Изменение одноязычного программного обеспечения на двуязычное

enter image description here

В приведенном выше экране все тексты "LOGIN", "Имя пользователя", "Пароль" и т.д. жёстко.

Мой вопрос - это то, что было бы самым простым методом для динамического изменения текстов.

  1. Должен ли я создать таблицу с именами столбцов в обоих языках, а затем изменить ярлыки один на один
  2. Или некоторые другие идеи

Спасибо заранее.

+1

Не меняйте названия колонок! Храните тексты/ярлыки в таблице, с ярлыком и языком для каждой комбинации меток/томанов. Затем вы можете добавить языки позже, если это необходимо. – jarlh

ответ

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' 
); 

(Не судите меня, я использовал Google переведите!)

Важно отметить, что массив и его ключи называются ТОЧНО TH E SAME в каждом файле изменяются только значения.

Теперь, используя некоторую переменную сеанса или, возможно, проанализировав URL-адрес для параметра языка, вы можете загрузить соответствующий языковой файл и, так как ключи массива будут точно такими же, вы можете повторить каждый из них соответственно.

echo $lang['login-title']; 

Одна вещь мне особенно нравится этот подход, если вам нужен переводчик, чтобы сделать работу, вы можете просто послать им файл и, как это очень простой формат они обычно могут осуществлять изменения непосредственно в массив , (с минимальным руководством)

+0

Я полагаю, что мой массив увеличит более 5000 элементов. Будет ли это влиять на скорость программного обеспечения? – abbas

+1

Да, будет ли это по-человечески заметно? Я сомневаюсь, но вы можете сравнить скорость приложения до и после. Я не знаю этого, но я полагаю, что доступ к массиву (путем загрузки файла в файловой системе) будет быстрее, чем возвращение 5000+ строк из запроса базы данных и создание массива из этого, а затем доступ к массиву. – Dale

Смежные вопросы