Избегайте жесткого кодирования строк html

Как мне избежать жесткого кодирования строк в HTML-коде?

e.g:

<h1>Website name</h1>

Так что их можно легко изменить глобально на сайте из одного места.


person harryjamesuk    schedule 27.03.2016    source источник
comment
Вы хотите изучать программирование? ;)   -  person djot    schedule 27.03.2016
comment
Привет, @djot - я уже знаком с Android / Java, но совсем недавно начал заниматься веб-разработкой :) Я уже изучил JavaScript и PHP из более раннего опыта.   -  person harryjamesuk    schedule 27.03.2016
comment
НЕ похоже на это.   -  person djot    schedule 27.03.2016
comment
Обычно внутри HTML есть что-то вроде заполнителя, который заменяется значением переменной. Это можно сделать после того, как HTML отображается пользователю, или даже с помощью инструмента для создания шаблонов, прежде чем пользователь увидит контент. Используя JS, можно было бы присвоить элементу HMTL id или class, а затем настроить таргетинг на этот элемент для обновления.   -  person Lix    schedule 27.03.2016
comment
Спасибо @djot ... В Android у нас есть способ хранить строки в файле strings.xml, а затем ссылаться на строки в этом файле с помощью пар ключ / значение. Вот почему я задаю этот вопрос, поскольку повторение кода серьезно меня раздражает, особенно при разработке сайта, на котором имя может измениться в любой момент, и я не хочу, чтобы мне приходилось просматривать каждую страницу сайта, обновляя имя .   -  person harryjamesuk    schedule 27.03.2016


Ответы (1)


Вы можете создавать отдельные html-файлы для каждого языка, но я предпочитаю использовать другие вещи, например:

PHP:

$lang = array();

$lang['PAGE_TITLE'] = 'My website page title';
$lang['HEADER_TITLE'] = 'My website header title';
$lang['SITE_NAME'] = 'My Website';
$lang['SLOGAN'] = 'My slogan here';
$lang['HEADING'] = 'Heading';

Подробнее об этом пользовательском методе см. Здесь: http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html

or:

function lang($phrase){
    static $lang = array(
        'NO_PHOTO' => 'No photo\'s available',
        'NEW_MEMBER' => 'This user is new'
    );
    return $lang[$phrase];
}

echo lang('no_photo');

(от: Наиболее эффективный способ создания языкового файла на PHP? < / а>)

Не изобретая велосипед: http://php.net/gettext

Или с помощью javascript: Передовой JavaScript и многоязычный язык

Если вы используете какой-либо фреймворк (PHP или javascript), у них обычно есть собственная многоязычная поддержка (laravel, angular, zend ...)

Надеюсь, поможет!

person JP. Aulet    schedule 27.03.2016
comment
Огромное спасибо! Определенно кажется, что лучше всего делать это на стороне сервера. - person harryjamesuk; 27.03.2016