Comments (30)
Hey, thanks for bringing it up.
We are in process of making translation process easier. First step was converting all translations to xlf format and standardizing message ids, we are close to finish this stage.
@pjedrzejewski is working on integrating some web UI for translation, I guess he can give us status on that topic. I guess we will use http://crowdin.net/project/sylius, but I think its not ready yet.
Each bundle needs its own translation as it should be possible to use it out of main Sylius app.
BTW, addressing bundle is xlf https://github.com/Sylius/SyliusAddressingBundle/tree/master/Resources/translations.
If you have any suggestions or questions, don't hesitate to ask.
from sylius.
from sylius.
@pjedrzejewski I wanted to retrieve translations from crowdin, but I need project id/key. Only you can do that.
There are 4 translation files to retrieve for French (at least, but I think you can do all langages in one command), can you do that? Otherwise I'll need to copy/paste each key by hand... yay \o/
from sylius.
What is the status of this issue? Someone create Dutch translations for Sylius and i want to use them is there a way to get them into my project or Sylius itself?
from sylius.
Retrieving French translations could be useful for me too...
IMHO PRs about translations should never have been accepted... Because now we (all Crowdin translators) are almost screwed...
from sylius.
I would like to have the Dutch translations for Sylius in the project too. Should I vote in Crowdin or is it not used anymore? Should I do a pull request?
@joostflorijn Did you get the translations from Crowdin in the project? Maybe you can send me the files?
from sylius.
In case #381 @pjedrzejewski said I should wait with translation contribution, but still waiting for feedback / best practice for translation contribution ...
from sylius.
When needed I can help with the Dutch translations.
from sylius.
@jjanvier What is the status of your already famous CrowdinBundle? Can we help?
from sylius.
@Sylius While we are here... what do you think about reworking our translation keys (standardizing them). Right now sometimes it is just ridiculous where there is sylius.FOOBAR.id
x 123432 or sylius.FOOBAR.created_at
where it is very common. With usecases like the menus, sometimes user might customize the phrase in the sidebar to be different from the main menu and that's fine, but with generic attributes like sylius.product.created_at
or ''sylius.shipment.id`` and so on there is huge duplication and it can become frustrating.
I think that when we do this huge move from github to crowdin, let's do everything the right way from the beginning.
So before we import whole github to crowdin, we should think again about our translation key standards.
Would be good to have an overview of all key types like.
- Validators standards.
- Menus standards.
- Forms standards.
- Generic standards. (like "yes", "no", "cancel", "id", "name" and other common attributes)
While it's cool that you can have different translation for "shipping_method.name" and "tax_rate.name", the drawback of having duplicated translations and so on is too big in my opinion.
Thoughts? I'll provide my idea for all the standards I outlined above.
from sylius.
Oh, and thanks @sstok, would be awesome, I think we already have some Dutch translations but for sure they'll need some work when we sync github with crowdin.
from sylius.
@pjedrzejewski : I agree with you. I give you the convention I use in my project as an example
#general translations
menu:
key: val
button:
key: val
tooltip:
key: val
modal:
key: val
#Specific translations for entity
worker: # entity name
title: # the title of each page (key match the controller actions)
create: New worker
update: Update
index: Yours workers
show: Details about your worker
button: ~ #overwrite if needed
menu: ~ #overwrite if needed
tooltip: ~ #overwrite if needed
modal: ~ #overwrite if needed
field: # the fields of the entity
politeness:
label: Politeness # printed into the label tag
option: # can be used when we need to render a select
male: Male
female: Form
(...)
The translation key are in the singular. I use underscore instead camelCase.
from sylius.
@Arn0d do you keep these translations in the messages domain or the BundleName domain?
from sylius.
@pjedrzejewski agree with you. We should do it now.
And I really like @Arn0d's solution. That's clean and simple. 👍 for me
from sylius.
@sstok : I use message domain for now.
from sylius.
Boosted the Dutch language to 100% now, would be good to have everything double-checked and voted for. @sstok, @eriwin, is this something you guys can help me with?
from sylius.
@Claiver It seems your using both the formal (u) and none formal (je) format.
I think its best if we stick with the formal version 👍
from sylius.
@sstok I understand why that'd be a good thing. The company I work with generally prefers an informal approach (more personal) hence the "informal" approach (je). I see the French version also use "vous" instead of "tu".
We can re-write the strings to its formal variant 👍
from sylius.
I also like to use the informal format, but its still customary to use the formal.
And even then this is something someone can always change when they want to :)
from sylius.
I would like to contribute with spanish translation.
from sylius.
@sstok All of the phrases have been translated and proof-read, @pjedrzejewski will try to get it on git in the evening, apparently this is a manual process.
@JRomeoSalazar Feel free to start translating at http://translate.sylius.org/project/sylius/es-ES, there's already a good portion translated (89% at moment of writing) but there's still phrases untranslated. In addition you could also start voting on existing suggestions added by others; perhaps you'll find some grammar errors or you could suggest your own phrases.
from sylius.
@mvalster it's a manual process that can be handled only by @Sylius team ^^ (because credentials of the Crowdin project are required)
from sylius.
@jjanvier So I had understood from this tweet! https://twitter.com/pjedrzejewski/status/438960787865214976
from sylius.
@mvalster sorry, read too fast ^^
from sylius.
@mvalster, @sstok, I'm also working on a Sylius project and noticed some translations that don't seem logical/correct to me. As an example for the WebBundle: "Total orders" in backend.statistics is translated as "Totale bestellingen", but should be "Aantal bestellingen" IMHO, as it is clear from the context that the "total number of orders" is meant.
I get the idea several items have been translated quite literally, leading to incorrect or unclear translations. However, the translations have been approved, without a clear consensus on the right translation (most have only 1 suggestion with 1 vote). There are also items that have multiple suggestions where the suggestion with the lowest rating has been approved.
I think it is important to approve translations only when they are actually a good choice of words in the target language and carry the correct meaning in their context.
I will probably add suggestions in the coming days and weeks and will try to explain them with a comment if necessary. It would be nice if you could look at the suggestions and vote/revote.
In my opinion most of the translations should be "unapproved" until they are verified as a good translation by more than one person.
edit:
the suggestions above are based on the WebBundle, which contains a lot of phrases in quite a few contexts, so most suggestions will be added in that bundle. However, I still think it is important to have a few people verify all translations before approving them.
from sylius.
@ruudkobes We're always open for suggestions that better present information to the user. I'll be happy to look at your suggestions.
from sylius.
I may be misusing this issue a bit, sorry for that.
I have opened a few discussions on Crowdin, mainly to be able to discuss how we could translate certain phrases/words best and to get some consistency in the translations.
@mvalster, @sstok: would be nice if you could add your 2 cents to these discussions, so we can get a good set of translations
from sylius.
Good work guys. I will try to look at the Dutch translations
from sylius.
@eriwin Would be nice to get an extra pair of eyes on the translations
from sylius.
We decided to go with YAML format, yet we transfered everything into Crowdin service: http://translate.sylius.org/ (from which we auto-sync changes "from time to time").
Closing as other discussion should be put in #1080 or directly on Crowdin.
from sylius.
Related Issues (20)
- [UI] Different product box sizes on the product listing HOT 1
- Form errors during creation of product remove all product images
- [UI] Text going out of the frame in product description HOT 2
- [Refactor][ApiBundle] Unify section resolver usage HOT 1
- Unable to generate url for route sylius_shop_product_show when product slug contains slash HOT 1
- AverageRatingUpdater is called twice when a review is accepted HOT 1
- The complete checkout validation group is difficult to override
- Cannot complete payment via admin
- Api Cart Context calls wrong endpoint method HOT 2
- Invalid constraint configuration in AddProductReview.xml HOT 6
- Catalog promotion is still applying after end date, price is not restored to original HOT 5
- Would be nice to have sylius/promotion not require doctrine/orm
- Order tax adjustment is treated as shipping tax
- products order in the front-end is not showing in descending order ( the latest to the oldest) of the createdAt date only in production. HOT 1
- Symfony error in ResourceBundle HttpFoundationRequestHandler
- As an Admin, I want to resend the confirmation email of an Order that is `fulfilled`
- Incompatibility with SyliusResourceBundle 1.11 HOT 2
- As a Shop API consumer, I want to see the Start and End dates of a Promotion Catalog HOT 2
- As a Shop API consumer, I want to see the current applied catalog promotions of a Product Taxon HOT 1
- Payment request a new way to handle payments
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sylius.