Git Product home page Git Product logo

Comments (11)

longlho avatar longlho commented on May 21, 2024 2

Hmm let see if i can just take over that package

from vue-i18n-next.

longlho avatar longlho commented on May 21, 2024 1

gotcha understood πŸ˜„ feel free to reach out if u have questions

from vue-i18n-next.

glen-84 avatar glen-84 commented on May 21, 2024 1

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.

longlho avatar longlho commented on May 21, 2024 1

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.

glen-84 avatar glen-84 commented on May 21, 2024 1

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.

kazupon avatar kazupon commented on May 21, 2024

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.

kazupon avatar kazupon commented on May 21, 2024

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.

kazupon avatar kazupon commented on May 21, 2024

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.

longlho avatar longlho commented on May 21, 2024

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.

glen-84 avatar glen-84 commented on May 21, 2024

That project doesn't appear to be maintained.

from vue-i18n-next.

kazupon avatar kazupon commented on May 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.