Comments (3)
documented here: https://www.i18next.com/principles/fallback#key-fallback
what what you are referring to with $t(variable) is nesting: and is documented here: https://www.i18next.com/translation-function/nesting and works like that as expected
from i18next.
Thanks for the quick answer!
Still I am confused why skipOnVariable: true
does not work for the fallback. In the linked documentation
i18next.t('notExistingKey'); // -> "notExistingKey"
is written as an example for when the key is not found.
That is why I would expect
i18next.t("Not a key $t(variable)"; // -> "Not a key $t(variable)"
instead of
i18next.t("Not a key $t(variable)"; // -> "Not a key Hello World!"
when skipOnVariable: true
Is this wrong and I can't enable skipOnVariable
for the fallback?
from i18next.
const i18next = require('i18next')
i18next.init({
lng: 'en',
// interpolation: { // skipOnVariables by default true
// skipOnVariables: false
// },
resources: {
en: {
translation: {
keyWithNesting: 'gets nested: $t(nested) | this is a variable: {{variable}}',
anotherKey: 'value {{variable}}',
nested: 'this is a nested key'
},
},
},
})
console.log(i18next.t('anotherKey'))
console.log(i18next.t('anotherKey', { variable: 'whatever' }))
console.log(i18next.t('keyWithNesting', { variable: '$t(nested2)' }))
console.log(i18next.t('Not a key $t(anotherKey) | {{variable}}'))
console.log(i18next.t('Not a key $t(anotherKey) | {{variable}}', { variable: '$t(nested)' }))
with skipOnVariables: true (default), you will see this output:
value {{variable}}
value whatever
gets nested: $t(nested) | this is a variable: $t(nested2)
Not a key value {{variable}} | {{variable}}
Not a key $t(anotherKey) | $t(nested)
with skipOnVariables: false, you will see this output:
value
value whatever
gets nested: this is a nested key | this is a variable: nested2
Not a key value |
Not a key value this is a nested key | this is a nested key
You see skipOnVariables only influences the nesting resolving behaviour if passed via variable...
everything that you pass to the t function is handled the same way, it doesn't matter if it is a known key or an not existing key...
so it works as designed
from i18next.
Related Issues (20)
- 23.7.13 -> 23.7.14 Regression with 'Type instantiation is excessively deep and possibly infinite' HOT 3
- Translations are not working when network connection is down HOT 4
- ASCII Decoding HOT 1
- Correct way to use i18n.t() inside index.ts files in React + TypeScript application HOT 2
- RangeError: Maximum call stack size exceeded at deepExtend HOT 2
- i18next::backendConnector: TypeError: Failed to parse URL HOT 1
- Get the wrong API call HOT 3
- React Hook "useEffect" is called conditionally. React Hooks must be called in the exact same order in every component render. HOT 3
- getFixedExists should support function getFixedT HOT 1
- Error: You are passing a wrong module! Please check the object you are passing to i18next.use() HOT 1
- The βconstβ keyword is extraneous in the ParseKeys type definition. HOT 2
- Not existing context not detected as type error if covered by string union HOT 8
- Allow default value in nested translation HOT 3
- Autocompletion doesn't work on large files in webstorm HOT 1
- Don't get the correct types if the key contains _ HOT 2
- Unsupported language is automatically added to preload option HOT 14
- Better API for plurals, for better extraction HOT 3
- Typescript: error when using multiple fallback key and at least one key is valid HOT 2
- Typescript error : can not access array elements HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i18next.