foundryvtt / foundryvtt

Public issue tracking and documentation for Foundry Virtual Tabletop - software connecting RPG gamers in a shared multiplayer environment with an intuitive interface and powerful API.
https://foundryvtt.com/
235 stars 9 forks source link

Provide a framework for localization of text content that is saved to the database. #7283

Open aaclayton opened 2 years ago

aaclayton commented 2 years ago

Community comments:


@LeRatierBretonnien:

Since many years now, translation of systems and modules compendiums are delegated to the "Babele" module.

On the French developers side, we think that this localization feature shall be now handled and managed inside Foundry , instead of relying on an external module. Localization capability of Foundry is one of its key success in non-English speaking countries, and - from our opinion - it is time to integrate it into the core.

This ticket is here to register our request, and to discuss it, of course :)


@Sasmira

an excellent idea and Babele should be part of Foundry from now on! :)


@Vlyan

We really need this ;)


@manfred7168

It's about time!


@deurk

Can software really still be built without translation support built-in nowadays?


@VincentVk9373

Bonus: even if this is for a "minority", it is good important for inclusion of all people


@Mandaar

Nowadays, the ability to play in your native language is a real selling point. Given that it's impossible to have all the languages, allowing everyone to do their own translation seems to me an excellent compromise.

DjLeChuck commented 10 months ago

Hi,

As it’s important to me, here is an exchange I had with Simone about this issue:

image

LeCuay commented 10 months ago

Awesome! This would make things so much easier!

LeRatierBretonnien commented 10 months ago

Also, an important point : whatever the future is, if a "compendium translation" system is added into the Foundry core, it must be compatible at 100% with the existing Babele API/translations modules available out there.

I guess it was clear for everybody, but I prefer to write it down :)

phenomen commented 7 months ago

In my translation module there is support for 45+ systems, 9 of which also have comprehensive compendium translations with Babele. And even in this case I don't mind if API will be completely different. Babele API is not exactly ideal: it cannot handle items of different types but the same name (hello WFRP4). It cannot translate nested items inside Adventure packs (hey Dragonbane). Export UX is abysmal as you need to have separate set of placeholder mapping files. There are so many things that could be better if database translation feature was supported first-party, that API compatibility is not even on my wishlist.

aaclayton commented 7 months ago

IF we do this feature, I can pretty much guarantee the API will not be "100% compatible with the existing Babele framework". It would make no sense for us to do it that way when the mechanisms for database string translation are entirely different in core.

Unfortunately community expectations for this feature are probably impossible to reconcile, which also makes it harder to prioritize knowing that whatever we do will displease people.

Mandaar commented 7 months ago

You're absolutely right, it's impossible to please everyone, and probably impossible to please just one side 100%.

However, what is certain is that the longer you wait, the more time passes, the more the offer grows and the more people organize themselves to bypass a database offer; the more complicated, if not impossible, it will be to do so. Until it's just plain unreasonable to do it, and thus open up a serious problem for long-term offer if the existing system unfortunately disappears. 😉

Far2Casual commented 5 months ago

As the maintainer of the French translation module for PF2 (I believe one of the biggest and most installed translation module out there), I can only support this. The current status is that a crucial part of Foundry's success for our community relies on an external module that is not well maintained. A standard functionality should be part of the core. And if it means a completely different API, we'll manage. It's so important for us that we'll do the effort. Also, it's not like Babele will disappear completely, so we'll have time to migrate.