-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interpolation with trans creates missing file even when the literal is in location files. #1186
Comments
On server there is no suspense -> so you got to preload all languages/namespaces |
I don't understand this @jamuhl |
when the server renders there is no async loading for translations possible...as the react render serverside does not wait have a look at: https://github.com/i18next/i18next-http-middleware/blob/master/example/deno/index.js#L28 |
and further on https://github.com/isaachinman/next-i18next to get an inspiration on how to solve SSR |
But, why does |
Makes no sense...if so - create a codesandbox for reproduction... only option would be you have using Trans in a component not having useTranslation |
Yes, i'm not using Well, i tried passing the <Trans i18nKey="alert.preview-mode.message" t={t}>
You are looking the website in — <strong>preview mode</strong>.
</Trans> I realized if i delete the I have been researching about this and i found i could escape the html tags inside of the translation function, but this is unsafe; so, what's the correct way to do this? |
in your sample above you're using useTranslation...but I guess I see the problem...and honestly setting You're using the namespace
|
@jamuhl It is my default's namespace. |
@SalahAdDin please set debug to true and show the log statements. |
More specifically: i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <bold>preview mode</bold>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <bold>preview mode</bold>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged en
i18next: languageChanged en
i18next::translator: updateKey en common alert.preview-mode.message You are looking the website in — <strong>preview mode</strong>.
event - build page: /404
wait - compiling...
event - compiled successfully
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged es
i18next: languageChanged es
i18next::interpolator: missed to pass in variable statusCode for interpolating {{statusCode}} - Página no encontrada
i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loading namespace common.missing for language es failed Error: ENOENT: no such file or directory, open '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/es/common.missing.json'
at Object.openSync (fs.js:466:3)
at Object.readFileSync (fs.js:369:35)
at readFileInNodeSync (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/readFile.js:30:13)
at readFileSync (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/readFile.js:102:12)
at Backend.read (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/index.js:71:54)
at Connector.read (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1582:34)
at Connector.loadOne (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1640:12)
at /home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1616:16
at Array.forEach (<anonymous>)
at Connector.prepareLoading (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1615:21) {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/es/common.missing.json'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loading namespace common.missing for language tr failed Error: ENOENT: no such file or directory, open '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/tr/common.missing.json'
at Object.openSync (fs.js:466:3)
at Object.readFileSync (fs.js:369:35)
at readFileInNodeSync (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/readFile.js:30:13)
at readFileSync (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/readFile.js:102:12)
at Backend.read (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next-fs-backend/cjs/index.js:71:54)
at Connector.read (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1582:34)
at Connector.loadOne (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1640:12)
at /home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1616:16
at Array.forEach (<anonymous>)
at Connector.prepareLoading (/home/joselito92/Proyectos/Work/portfolio/frontend/node_modules/i18next/dist/cjs/i18next.js:1615:21) {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/tr/common.missing.json'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <bold>preview mode</bold>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace common.missing for language en {
alert: {
'preview-mode': {
message: 'You are looking the website in — <strong>preview mode</strong>.'
}
}
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'common.missing', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged es
i18next: languageChanged es
i18next::translator: updateKey es common alert.preview-mode.message You are looking the website in — <strong>preview mode</strong>. |
set updateMissing to false |
@adrai But why is it missing that chain? It is already on files as you can see. |
saveMissing: saves the keys that are missed https://www.i18next.com/overview/configuration-options#missing-keys |
So, why do they differ then? |
Because your defaultValue is different from translated value |
|
well, i changed that |
log? |
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <strong>preview mode</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged es
i18next: languageChanged es
i18next::translator: updateKey es common alert.preview-mode.message You are looking the website in — <strong>preview mode</strong>.
i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <strong>preview mode</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
event - build page: /404
wait - compiling...
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged en
event - compiled successfully
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged tr
i18next: languageChanged en
i18next: languageChanged tr
i18next::interpolator: missed to pass in variable statusCode for interpolating {{statusCode}} - Sayfa bulunamadı
i18next::backendConnector: loaded namespace common for language es {
alert: {
'preview-mode': {
title: 'Advertencia',
message: 'Está viendo el sitio en — <strong>modo previsualización</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Página no encontrada',
disclaimer: 'No podemos encontrar la página que busca.'
},
'500': {
title: '{{statusCode}} - Error interno en el servidor',
disclaimer: 'Hemos experimentado un error interno en el servidor y estamos trabajando para resolverlo.'
},
status: {
with: 'Un error {{statusCode}} ocurrió en el servidor.',
without: 'Un error ocurrió en el servidor.'
}
},
exit: 'Salir',
home: 'Inicio',
main: 'Principal',
resources: 'Recursos',
me: 'Yo',
pages: 'Páginas',
projects: 'Proyectos'
}
i18next::backendConnector: loaded namespace skill-type for language es {
database: 'Base de Datos',
framework: 'Marco de Trabajo',
language: 'Lenguaje',
operating_system: 'Sistema Operativo',
programming_language: 'Lenguaje de Programación',
technical: 'Técnica',
technology: 'Tecnología',
tools: 'Herramientas'
}
i18next::backendConnector: loaded namespace common for language tr {
alert: { 'preview-mode': { title: '', message: '' } },
error: {
'404': {
title: '{{statusCode}} - Sayfa bulunamadı',
disclaimer: 'İstediğiniz sayfası bulamadık.'
},
'500': { title: '{{statusCode}} - ', disclaimer: '' },
status: { with: '', without: '' }
},
exit: 'Çık',
home: 'Ana sayfa',
main: 'Ana',
resources: 'Kaynaklar',
me: 'Ben',
pages: 'Sayfalar',
projects: 'Projelers'
}
i18next::backendConnector: loaded namespace skill-type for language tr {
database: 'Database',
framework: 'Çerçeve',
language: 'Dil',
operating_system: 'İşletim Sistemi',
programming_language: 'Programlama Dili',
technical: 'Teknik',
technology: 'Teknoloji',
tools: 'Araçlar'
}
i18next::backendConnector: loaded namespace common for language en {
alert: {
'preview-mode': {
title: 'Warning',
message: 'You are looking the website in — <strong>preview mode</strong>.'
}
},
error: {
'404': {
title: '{{statusCode}} - Page not found',
disclaimer: "We can't find the page you are looking for."
},
'500': {
title: '{{statusCode}} - Internal server error',
disclaimer: 'We have experienced an internal server error and are working to resolve it.'
},
status: {
with: 'A {{statusCode}} error occurred on server.',
without: 'An error occurred on the server.'
}
},
exit: 'Exit',
home: 'Home',
main: 'Main',
resources: 'Resources',
me: 'Me',
pages: 'Pages',
projects: 'Projects'
}
i18next::backendConnector: loaded namespace skill-type for language en {
database: 'Database',
framework: 'Framework',
language: 'Language',
operating_system: 'Operating System',
programming_language: 'Programming_Language',
technical: 'Technical',
technology: 'Technology',
tools: 'Tools'
}
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
}
}
i18next: init: no languageDetector is used and no lng is defined
i18next: initialized {
debug: true,
initImmediate: false,
ns: [ 'common', 'skill-type' ],
defaultNS: 'common',
fallbackLng: false,
fallbackNS: false,
whitelist: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitWhitelist: false,
supportedLngs: [ 'es', 'tr', 'en', 'cimode' ],
nonExplicitSupportedLngs: false,
load: 'currentOnly',
preload: [ 'es', 'tr', 'en' ],
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: true,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: [Function: format]
},
defaultLanguage: 'en',
otherLanguages: [ 'es', 'tr' ],
localePath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales',
localeStructure: '{{lng}}/{{ns}}',
localeExtension: 'json',
localeSubpaths: {},
use: [],
browserLanguageDetection: true,
serverLanguageDetection: true,
ignoreRoutes: [ '/_next/', '/static/', '/public/', '/api/' ],
customDetectors: [],
detection: {
caches: [ 'cookie' ],
cookieSameSite: 'strict',
lookupCookie: 'next-i18next',
order: [ 'cookie', 'header', 'querystring' ],
lookupQuerystring: 'lng',
lookupSession: 'lng',
lookupFromPathIndex: 0,
getPath: [Function: getPath],
getOriginalUrl: [Function: getOriginalUrl],
getUrl: [Function: getUrl],
setUrl: [Function: setUrl],
getParams: [Function: getParams],
getSession: [Function: getSession],
getQuery: [Function: getQuery],
getCookies: [Function: getCookies],
getBody: [Function: getBody],
getHeaders: [Function: getHeaders],
getHeader: [Function: getHeader],
setHeader: [Function: setHeader],
setContentType: [Function: setContentType],
setStatus: [Function: setStatus],
send: [Function: send]
},
react: { wait: true, useSuspense: false },
strictMode: true,
errorStackTraceLimit: 0,
shallowRender: false,
allLanguages: [ 'es', 'tr', 'en' ],
backend: {
loadPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.json',
addPath: '/home/joselito92/Proyectos/Work/portfolio/frontend/public/static/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
isClone: true
}
i18next: languageChanged tr
i18next: languageChanged tr
i18next::translator: updateKey tr common alert.preview-mode.message You are looking the website in — <strong>preview mode</strong>. |
the log statement tells this: "i18next::translator: updateKey tr common alert.preview-mode.message This means your tr translations are not like what is generated by your code: Looking at your tr common.json file: alert: { 'preview-mode': { title: '', message: '' } }
|
Yeah, that one is missing, but for it is not for Spanish, so, why does it crash for Spanish? |
What do you mean by "crash for Spanish"? i18next::translator: updateKey es common alert.preview-mode.message
|
@adrai When i say it crash for Spanish, it means even when there is a translation literal for spanish, it is not translated in front-end. I deactivated |
So it works now? Can the issue be closed? |
It can be closed, yes, but i didn't understand the problem with the |
🐛 Bug Report
Every time I launch the server

i18n
generates a new missing file(because I delete the previous one) even when I put the translation in the respective file:This means every time I pass to a different language the literal is not translated:

To Reproduce
I created my component with the next code:
Each time I launch the application(
yarn dev
), it creates a new missing file for the same line in all idioms but English(the main one).Expected behavior
It must be corrected translate to Spanish or another language:
Your Environment
The text was updated successfully, but these errors were encountered: