ever-co / ever-traduora

Ever® Traduora™ - Open Translation Management Platform - https://traduora.co
https://traduora.co
GNU Affero General Public License v3.0
2k stars 203 forks source link

[Feature Request] Support for fluent formart #40

Open ZeroAurora opened 5 years ago

ZeroAurora commented 5 years ago

Fluent is a translation file formart designed by mozilla. Spec (Oh I'm sorry that I didn't use your issue template)

iilei commented 5 years ago

I like fluent! Wanted to file a feature request for ICU messageformat but then I changed my mind. Because:

Is your feature request related to a problem? Please describe. Scenarios where there are three choices of gender (m/f/undefined) and -- dependeing on the target language -- a variable amount of pluralisation cases to consider, like the following;

Interactive Playground at projectfluent

Describe the solution you'd like select-statements should be allowed to reside within the translation strings so I can cover complex variations of pluralization and formatting dates, amounts, and other units in a human-friendly way

Describe alternatives you've considered ICU-messageformat but it is merely a subset of fluent

Additional context Fluent is compatible with the ICU-messageformat which is already widely adopted

anthonynsimon commented 5 years ago

In the case of adding support for the fluent format, the only thing needed would be to be able to import/export the plain text term and translations into the necessary file format? As in, no changes to the underlying data structures seem to be be required, right?

It's just to understand what this feature might require as I'm not familiar with this format :)

ZeroAurora commented 5 years ago

Well, I can't explain it exactly, but here is fluent's syntax guide. I hope it will help 😃

iilei commented 5 years ago

From my perspective it should be a Flag that can be set on a Term.

In the editor, if the flag fluentMarkup is activated, the gui should provide similar niceties as the fore mentioned interactive playground.

I think that just implies extending https://github.com/traduora/traduora/blob/master/api/src/entity/term.entity.ts

And of course quite heavy frontend changes. Possibly integrating https://github.com/projectfluent/play