fluent icon indicating copy to clipboard operation
fluent copied to clipboard

Resource namespace

Open thetutlage opened this issue 4 years ago • 2 comments

This is more of a question to understand how to structure fluent files in a real life project.

Assuming, one resource is basically the contents of a single file (on disk), is there any way to have a namespace for resources. For example: I have the following two files.

messages.ftl
validations.ftl

Now both the files exports a variable called message

// messages.ftl

message = "Hello {$name}"
// validations.ftl

message = "Hi {$name}"

I create a resource for both the files.

let res = new FluentResource(readSync('./messages.ftl'));
let res2 = new FluentResource(readSync('./validations.ftl'));

bundle.addResource(res);
bundle.addResource(res2);

Now, how do I get the message from the resource created via validations.ftl?

thetutlage avatar Aug 09 '21 09:08 thetutlage

If there was a namespace feature, then things would have been easier. For example:

bundle.addResource('message', res)
bundle.addResource('validations', res2)

Then I can basically prefix the namespace as follows.

bundle.getMessage('messages.message')
bundle.getMessage('validations.message')

thetutlage avatar Aug 09 '21 09:08 thetutlage