Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation discussion #133

Closed
cvele opened this issue Jun 3, 2013 · 30 comments
Closed

Translation discussion #133

cvele opened this issue Jun 3, 2013 · 30 comments
Labels
RFC Discussions about potential changes or new features.

Comments

@cvele
Copy link
Contributor

cvele commented Jun 3, 2013

It's very hard to do translation on global level (though all bundles) atm.
Main reason is difference in formats (eg. Addressing bundle is yml). I'm trying to extend all bundles in my app and create translations, now I can do that and merge them in their respective formats, but wouldn't it be easier if there was a global effort in converting those to one singular format?

Opening discussion as I will be doing development on app based on sylius and am planing on helping wherever I can.

@umpirsky
Copy link
Contributor

umpirsky commented Jun 4, 2013

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.

@umpirsky
Copy link
Contributor

#155

@winzou
Copy link
Contributor

winzou commented Aug 23, 2013

@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/

@joostflorijn
Copy link

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?

@jjanvier
Copy link
Contributor

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...

@eriwin
Copy link

eriwin commented Nov 11, 2013

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?

@smoench
Copy link

smoench commented Nov 11, 2013

In case #381 @pjedrzejewski said I should wait with translation contribution, but still waiting for feedback / best practice for translation contribution ...

@sstok
Copy link
Contributor

sstok commented Jan 22, 2014

When needed I can help with the Dutch translations.

@winzou
Copy link
Contributor

winzou commented Jan 22, 2014

@jjanvier What is the status of your already famous CrowdinBundle? Can we help?

@pjedrzejewski
Copy link
Member

@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.

  1. Validators standards.
  2. Menus standards.
  3. Forms standards.
  4. 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.

@pjedrzejewski
Copy link
Member

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.

@arnolanglade
Copy link
Contributor

@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.

@sstok
Copy link
Contributor

sstok commented Jan 22, 2014

@Arn0d do you keep these translations in the messages domain or the BundleName domain?

@jjanvier
Copy link
Contributor

@pjedrzejewski agree with you. We should do it now.
And I really like @Arn0d's solution. That's clean and simple. 👍 for me

@arnolanglade
Copy link
Contributor

@sstok : I use message domain for now.

@mirague
Copy link

mirague commented Feb 25, 2014

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?

@sstok
Copy link
Contributor

sstok commented Feb 25, 2014

@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 👍

@mirague
Copy link

mirague commented Feb 25, 2014

@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 👍

@sstok
Copy link
Contributor

sstok commented Feb 25, 2014

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 :)

@JRomeoSalazar
Copy link
Contributor

I would like to contribute with spanish translation.

@mirague
Copy link

mirague commented Feb 27, 2014

@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.

@jjanvier
Copy link
Contributor

@mvalster it's a manual process that can be handled only by @Sylius team ^^ (because credentials of the Crowdin project are required)

@mirague
Copy link

mirague commented Feb 27, 2014

@jjanvier So I had understood from this tweet! https://twitter.com/pjedrzejewski/status/438960787865214976

@jjanvier
Copy link
Contributor

@mvalster sorry, read too fast ^^

@ruudkobes
Copy link
Contributor

@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.

@mirague
Copy link

mirague commented Mar 3, 2014

@ruudkobes We're always open for suggestions that better present information to the user. I'll be happy to look at your suggestions.

@ruudkobes
Copy link
Contributor

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

@eriwin
Copy link

eriwin commented Mar 4, 2014

Good work guys. I will try to look at the Dutch translations

@ruudkobes
Copy link
Contributor

@eriwin Would be nice to get an extra pair of eyes on the translations

@stloyd stloyd modified the milestones: 1.0.0, 1.0.0-BETA1 Mar 18, 2014
@stloyd
Copy link
Contributor

stloyd commented Mar 18, 2014

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.

@stloyd stloyd closed this as completed Mar 18, 2014
pamil pushed a commit to pamil/Sylius that referenced this issue Mar 21, 2016
[WIP] Initial contributing guide, based on Symfony
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Discussions about potential changes or new features.
Projects
None yet
Development

No branches or pull requests