我从几天开始就尝试了 nodes express 我使用了一些使用 i18next 的教程 但不要发现我的失败。
我只得到密钥而不是 der Languagestring。 整整两天,我想我的新人会看到我的失败。
我会展示我的文件:
app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
// Internationalisation
const i18next = require('i18next');
const i18backend = require('i18next-fs-backend');
const i18middleware = require('i18next-http-middleware');
i18next
.use(i18backend)
.use(i18middleware.LanguageDetector)
.init({
backend: {
loadPath: __dirname + '/resources/locales/{{lng}}/{{ns}}.json'
},
fallbackLng: 'de',
preload: ['de']
});
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
const { response } = require('express');
const { Console } = require('console');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false })); // Middelware start
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(i18middleware.handle(i18next)); // Internationalisation
app.use('/', indexRouter);
app.use('/users', usersRouter);
我的 index.js
var express = require('express');
var router = express.Router();
router.get('/imp', function (req, res, next) {
res.render('impressumpage',
{
title: "-" + req.t('impressum'),
title2: 'Impressum',
textDescript: 'Hier gehts um das Impressum und was man damit anfangen kann ',
impress: 'Impressum',
dataSafe: 'Datenschutzerkl\u00e4rung'
});
});
和我的 tranlation.json { "appTitle": "VT usw.", "dataprotec": "数据保护", "impressum": "印象德" }
我只拿到钥匙,为什么?
我期待语言:这里 -Impressum de
谢谢你的建议
我试过了,可惜没成功
首先我没有用过{{ns}}
我用过 loadPath: __dirname + '/resources/locales/{{lng}}/translation.json'
和 loadPath: __dirname + '/resources/locales/de/translation.json'
和 loadPath: './locales/resources/locales/{{lng}}/translation.json'
没有任何效果。
为了使用你的建议,我使用
在 app.js 中
i18next.init({
ns: ['translation'],
defaultNS: 'translation'
})
在 index.js 中
title: "-" + req.t('impressum', { ns: 'translation' })