Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2018, 16:22
Новичок на форуме
Отправить личное сообщение для kaj0 Посмотреть профиль Найти все сообщения от kaj0
 
Регистрация: 10.05.2018
Сообщений: 2

мультиязычность на nodejs
прошу совета у опытных программистов. в nodejs новичок...
есть одностраничный одноязычный сайт, который состоит из подключаемых блоков (раскиданы по папкам).

каким образом лучше организовать многоязычность? для начала два языка ссылками на сайте (напр. ru, en).
и каким образом хранить текущий язык (в php храню в сессии)?
кто на толковый мануал ткнет носом?)
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2018, 16:27
Новичок на форуме
Отправить личное сообщение для kaj0 Посмотреть профиль Найти все сообщения от kaj0
 
Регистрация: 10.05.2018
Сообщений: 2

или в данном контексте проще создать поддомен и залить туда сайт на другом языке?
Ответить с цитированием
  #3 (permalink)  
Старый 10.05.2018, 16:39
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

kaj0, ну вариантов множество.

Можно завести json файл со всеми метками для языков, к примеру:

lang-labels.json:
{
  "ru": {
     "title": "Главная страница",
     "menu": "Меню",
     "news": "Новости"
  },
  "en": {
     "title": "Main page",
     "menu": "Menu",
     "news" : "News"
  }
}


Брать метку языка из первой вложенности path.

const langLabels = require('./lang-labels.json');
const express = require('express');

const app = express();

app.listen(5000, () => console.log('server start!'));

app.use(express.static('public'));
app.set('view engine', 'jade');

app.get('/:lang/', (req, res) => {
	const {lang} = req.params;

	res.render('main', {
		labels: langLabels[lang]
	});
});


/view/main.jade:
Код:
doctype html
html
  head
    meta(charset="UTF-8")
    title= labels.title
  body
    aside
      h2= labels.menu
      p ...
    article
      h2= labels.news
      p ...

Последний раз редактировалось ruslan_mart, 10.05.2018 в 16:42.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг с помощью NodeJS forklive Node.JS 0 29.03.2018 18:31
NodeJS + RubyOnRails (require is not a function...) morezen10 Node.JS 1 04.10.2017 10:54
Разница между собранным пакетом nodeJS и установленным из бинарного образа freeneutron Node.JS 1 10.11.2015 12:41
немного об nodejs qwermjk AJAX и COMET 5 15.02.2013 10:57
Comet: NodeJS - с чего начать разработку? Vulkan AJAX и COMET 13 27.11.2010 19:25