Yes we are still on schedule to release the I18N feature by the end of March (Q1) and most likely there will be a public beta within the next two weeks (exact date is not confirmed).
Will the new Content Internationalization feature be working with the XLIFF standard and xlf files? Thanks.
Because Strapi uses
JSON and not
XML, I don’t think this will be the case.
Not in this case, it will be based on a model structure, I’ll have more information once we release the public beta later this month
We are really looking forward to this feature. Would be great if it would be easy to integrate with the Angular i18n: Angular
It will be easy to integrate with all frontend frameworks, that’s what we at Strapi are all about!
I just wanted to check in what the current status is. When can we expect this feature to land?
I’m going to start working on a rather complex project this April, where Internationalization is a must-have.
I’ve seen that there’s a lot of activity on the i18n branch, so it seems you are working really hard towards this
Public beta/experimental build hopefully this week, however the stable version release is being pushed to ensure proper QA. We don’t have an exact stable release date but it will be in April, most likely before or during StrapiConf.
Awesome, well done!
Will it be possible to make existing model fields multilingual? (I don’t need to do a DB migration, I can just start with a new one)
Yes entirely possible
any update on beta build?
can you please share link for the beta version?
I did up above, that thread tells you how to run a test beta project. We do not recommend updating existing projects with the beta version.
Great. Thank you so much!
I added the plugin and I can see it on the plugin’s page and in settings. I add a new locales (so I have two now, being EN the default one).
What’s next? I can’t see anything changed in the content builder OR when entering content.
How do I add another language copy for the same component?
You need to activate i18n on your content type.
To do so, you need to go in the content type builder, click on the pencil icon next to the content type’s name, go to the advanced settings and check the “Enable localization for the content type” checkbox.
Then you can control the localisation of each field in the advanced tab of each attribute.
Here are some informations about the localisation:
- when i18n is enable on a content type all relational fields are localised
- the uid field will always be localised due to the unique constraint
- dynamique zones and components can be localised
- Unique fields must also be localised because of the unique constraint
That’s a bummer. I’d guess in most use cases an ID should identify objects independent of language.
It’s a hard requirement of how we store the information in the database while still keeping database constraints. Setting something as unique applies a database constraint and since all locales are stored in the same database table you can’t have two entries (say english and french) that share the same unique value.
Abstracting them out to different tables in the database means all relations become polymorphic in nature making relations extremely complicated to manage.
Hey ! First of all, thanks for this amazing CMS.
As I do understand the requirement explained above, this is still a bummer.
It means there is no way to identify an entity with the same but unique textual attribute ?
Like a guid or sku attribute assigned to a product for example ?
Thanks for building Strapi <3 and adding the long-awaited localization feature.
This doesn’t make a lot of sense to me. Uniques should be the same across all locales, technically (coming from RDBMS background) this can be implemented as a unique constraint on two columns.
For those looking for a hack, I’m providing this sample from one of my products. On PostgreSQL I did the following to fix this on the database level:
alter table products drop constraint "products_SKU_unique"; // this query deletes the constraint created automatically by strapi alter table products add constraint unique_sku_per_locale unique ("SKU", locale); // this one creates a new unique constraint on two columns
Please note that I didn’t test this on production yet and it might cause problems, so please make sure you know what you’re doing.
this way, SKU will only be required to be unique in one locale.
@soupette please consider rethinking this design,