Comments (11)
Hmm let see if i can just take over that package
from vue-i18n-next.
gotcha understood π feel free to reach out if u have questions
from vue-i18n-next.
I'd love to see ICU Message syntax being the default, instead of the current non-standard syntax.
Have custom formatters been removed in vue-i18n-next? If so, why?
from vue-i18n-next.
MessageFormat v2 will take a least a few years to have some sort of a syntax. Then localization services will have to adopt that and adoption rate can be very slow. I wouldn't wait for it.
from vue-i18n-next.
Happy new year from japan!
Happy new year. π
Unfortunately, custom formatter is not supported in vue-i18n@v9 and later. π
That's really unfortunate. π
However, it is difficult and time-consuming to provide custom functionality for a message format like ICU, so we have abandoned support for it in v9.
I thought that most of the work would be done by another library like formatjs, and you just needed to expose an API that allowed users to handle a formatMessage(message: string, params: [])
call. You could then have a storage abstraction on top of that that allows users to store messages in different places and in different formats.
In other words, in my opinion, vue-i18n shouldn't support ICU syntax directly, but it should have very generic interfaces and hooks that could be used to integrate one of many different syntaxes with one of many different storage mechanisms.
You would then have plug-ins for each syntax and for each storage type. vue-i18n
's message syntax would also be implemented as a message formatting plug-in.
If you want to for example support hierarchical keys etc., but a storage plug-in doesn't support this, it could use an alternative serialization, like joining the keys with a period: parent.child.key
.
In order for Vue.js to support i18n with ICU-like message format support, you will need to create a combination of formatjs and @vue/reactivity.
I might have to look into writing my own library, but I was hoping to avoid this. π
As the next roadmap for the Intlify project, the vue-i18n (intlify) message format will support compatibility with the ICU message format
The next roadmap meaning 10.x?
I completely agree with @longlho β the successor to ICU MessageFormat isn't going to be ready any time soon, but it might be possible to design interfaces/abstractions now that would allow it to be supported in the future.
Thanks anyway for the work that you do. π
from vue-i18n-next.
Hi π
I know about your @formatjs.
I'm very glad you're interested in my library or framework.
Here's the roadmap for vue-i18n-next
also known as intlify
.
https://github.com/orgs/intlify/projects/1
The intlify project is an OSS project aimed at improving the DX of i18n and l10n.
I also understand the importance of i18n and I am educating others about it.
(I'm not very good at English, though... π
)
formatjs is great! because it also allows you to use the ECMA-402 API.
I would love to use formatjs in my intlify project as well, but I'd like to build the architecture and implementation with a full-scratch, zero-based mindset as much as possible.
from vue-i18n-next.
Happy new year from japan!
Have custom formatters been removed in vue-i18n-next? If so, why?
Unfortunately, custom formatter is not supported in vue-i18n@v9 and later. π
In v9, I created a compiler for vue-i18n message format with full scratch. However, it is difficult and time-consuming to provide custom functionality for a message format like ICU, so we have abandoned support for it in v9.
In order for Vue.js to support i18n with ICU-like message format support, you will need to create a combination of formatjs and @vue/reactivity.
from vue-i18n-next.
I recognize that the syntax of the vue-i18n message format is proprietary. And I recognize that the syntax of the vue-i18n message format is proprietary, and I understand that it is difficult to integrate with existing localization services.
As the next roadmap for the Intlify project, the vue-i18n (intlify) message format will support compatibility with the ICU message format, or the standard message format specification that the unicode working group is working on.
from vue-i18n-next.
I thought there's a package called vue-intl that has formatjs binding? What's the difference between that and this one actually?
from vue-i18n-next.
That project doesn't appear to be maintained.
from vue-i18n-next.
The next roadmap meaning 10.x?
I completely agree with @longlho β the successor to ICU MessageFormat isn't going to be ready any time soon, but it might be possible to design interfaces/abstractions now that would allow it to be supported in the future.
Yeah, it means is 10.x
It could not be implemented as a vue-i18n plug-in in vue-i18n@v9, but it may be possible to support it in the next major version or v9.x by abstracting the current API.
Iβll put this in the next roadmap.
That project doesn't appear to be maintained.
It seems that vue-intl is not maintained.
from vue-i18n-next.
Related Issues (20)
- add possible errors on API docs HOT 3
- Modifiers for interpolated values
- How to use named interpolation in html HOT 1
- [v9.10.0] `@intlify/message-compiler` publishing missing TypeScript reference HOT 4
- Message compiler still ships with dist with runtime only HOT 3
- te function returns false although fallback exists HOT 5
- Using a implicit fallback throws a warning in the console HOT 1
- Incorrect tm return type HOT 1
- Foolproofing and trigger error, when locale is not set. HOT 2
- regression: wrong `d.ts` of `@intlify/message-compiler` HOT 1
- Hyphens in placeholders causing error `Unterminated closing brace` in vue-i18n@9 HOT 1
- Guide leads to a 404 HOT 4
- Getting 'Cannot read properties of undefined (reading 't')' error in core-base.mjs::formatParts HOT 3
- Linked messages doesn't support chinese character as key HOT 1
- Property "$tc" was accessed during render but is not defined on instance. HOT 1
- Shortcut and more readable syntax for `v-t`: allow `<h1 v-t>Hello</h1>` which will be similar to `<h1 v-t="Hello"></h1>` HOT 4
- CSP Violation when `unsafe-eval` is not set HOT 2
- Key paths containing javascript built-ins are handled inconsistently HOT 3
- Interpolations get lost HOT 2
- SSR without NODE_ENV loads devtools and causes memory leak HOT 6
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 vue-i18n-next.