13:00:39 <Daisy> #startmeeting OpenStack I18n Meeting
13:00:40 <openstack> Meeting started Thu Sep 17 13:00:39 2015 UTC and is due to finish in 60 minutes.  The chair is Daisy. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:00:42 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
13:00:44 <openstack> The meeting name has been set to 'openstack_i18n_meeting'
13:00:58 <Daisy> Hello, who is around for i18n meeting ?
13:01:06 <doug-fish> Hi Daisy - I am!
13:01:27 <Daisy> Hi, Doug
13:01:32 <amotoki> hi
13:01:36 <Daisy> hi, amotoki
13:02:17 <ujuc> hi
13:02:26 <Daisy> Hi, ujuc
13:02:54 <ujuc> :)
13:02:56 <Daisy> Now we have doug-fish, amotoki, and ujuc. We will start now.
13:03:13 <Daisy> #topic Collect issues/questions for Zanata and Liberty translation
13:03:50 <Daisy> I kicked off Liberty translation on top of Zanta. Now 1 week passed, are the translations running well ?
13:04:10 <Daisy> If you have any difficulties/questions, you could raise them here.
13:04:27 <amotoki> I translated ~1000 words and it works well so far.
13:04:59 <Daisy> From the mailing list, we could get some complains from coordinators, about adding translators to a team, about messaging in a team.
13:05:03 <doug-fish> I'm not sure this is exactly related to Zanata but there is a difficulty with the RU translation https://bugs.launchpad.net/horizon/+bug/1494819
13:05:04 <openstack> Launchpad bug 1494819 in OpenStack Dashboard (Horizon) "Russian strings for Actions within Project->Instances page 'More Actions' dropdown are missing" [High,Confirmed]
13:05:32 <Daisy> We will raise these complains to Zanta team as feature requirements.
13:05:56 <doug-fish> A challenge is that this is somewhat of a technical problem, but I don't have access to fix it ...
13:06:01 <Daisy> looking at the bug now.
13:06:22 <doug-fish> and even if I had access, I am not a translator, so it is difficult for me to be sure I have not changed any translations
13:07:23 <Daisy> I got some notices in the last week, that bad translations broken unite test. I'm going to start an Etherpad to track these issues. Hope doug-fish could help me to collect.
13:07:39 <Daisy> After Liberty translation, we could summarize them, and write a best practise to our translators.
13:07:48 <amotoki> FYI: https://zanata.atlassian.net/browse/ZNTA-555 Internal "user request management" and tracking  (which we requested) is under way.
13:07:49 <doug-fish> yes, that's a good idea
13:08:33 <Daisy> Great, amotoki. Thank you for the link.
13:08:45 <clarkb> Daisy AJaeger flipped zanata option to error translations with bad whitespace
13:09:07 <Daisy> http://etherpad.openstack.org/bad-translations-break-test
13:09:10 <clarkb> I think that fixed things for unittests and is a nice feature since we check it in the projects
13:09:33 <clarkb> also yesterday we ran gerrit updates for all projects from zanata and they should run automatically too now
13:09:47 <clarkb> so the automation is in place and seems to be working
13:10:03 <Daisy> Thank you for the update, clarkb.
13:10:37 <amotoki> yes. we see the first import to horizon from zanata.  the gate problem has just recovered and it is under the check queue.
13:11:04 <amotoki> Daisy: your etherpad link seems incorrect. I see a new page.
13:11:30 <Daisy> amotoki: it's a new page. I just create it.
13:11:34 <clarkb> amotoki ya we will need to recheck those changes
13:12:03 <Daisy> doug-fish: I cannot understand why plurality will cause error.
13:12:14 <Daisy> doug-fish: You said it was a technical issue ?
13:12:21 <Daisy> or it is a bad translation issue ?
13:12:29 <doug-fish> sort of both
13:12:42 <doug-fish> The problem is that most of the code expects 3 pluralities for Russian
13:13:00 <doug-fish> yet our translations now have 4
13:13:16 <doug-fish> This change happened sometime after Kilo but still in transifex
13:13:26 <Daisy> so if you could update the translation, you are able to fix it ?
13:13:35 <amotoki> gettext or django issue?
13:13:44 <amotoki> or horizon side issue?
13:14:10 <doug-fish> I'd have a hard time pointing fingers - I'd expect each group to say it is working as designed/expceted
13:14:47 <doug-fish> I could update the RU translations to make them have 3 pluralities
13:14:50 <Daisy> doug-fish: #L30 means the line of 30 in diango.po ?
13:15:19 <doug-fish> oh yes
13:15:36 <doug-fish> link is slightly out of date
13:15:39 <doug-fish> should be line 32
13:16:01 <doug-fish> ... and really when you look a the plural funciton there is no way for plural form at index 3 to be reached
13:16:07 <Daisy> then what's the new line number of #L788 ?
13:16:29 <doug-fish> 799
13:17:11 <Daisy> doug-fish: I will spend some time to dig into it after meeting.
13:17:30 <Daisy> any other questions/issues  ?
13:17:33 <doug-fish> The change I would make is to remove every msgstr[2] from the file, move msgstr[3] to msgstr[2] and update the plurality function to the standard one
13:17:48 <doug-fish> I'd really like to get input from the RU translation team before doing anything this disruptive
13:17:59 <Daisy> I agree, doug-fish.
13:18:01 <doug-fish> but it results in broken Horizon tdoay
13:18:05 <amotoki> https://github.com/openstack/horizon/blob/master/openstack_dashboard/locale/ru/LC_MESSAGES/django.po#L799-L804
13:18:09 <amotoki> is this a right example?
13:18:21 <Daisy> Yes, amotoki.
13:18:26 <doug-fish> yep
13:18:27 <ianychoi> Hello, sorry for late coming.
13:18:41 <Daisy> And line 32 seems like a rule of plural
13:18:52 <doug-fish> correct
13:19:21 <Daisy> doug-fish: who requires only 3 plural ?
13:19:53 <doug-fish> That what is normal for Russian
13:20:03 <doug-fish> (looking for a link)
13:20:18 <Daisy> But from line 32, I think, it is said nplurals=4
13:21:26 <doug-fish> right - so it is internally consistent, but not consistent with the rest of the world
13:21:29 <doug-fish> http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html
13:21:41 <Daisy> ianychoi: never mind. We are talking about issues/questions of Liberty translations.
13:22:10 <ianychoi> Daisy, thanks. I am trying to follow the conversation :)
13:22:14 <Daisy> How is Korean translations now, ianychoi, running well ?
13:22:29 <doug-fish> I suspect (but haven't made all of the connections) that a pluralization function from another bundle is being used to resolve resources in this file
13:22:53 <ianychoi> Now me and ujuc are a little bit busy, but I think our Korean translation is going well I think.
13:23:10 <Daisy> doug-fish: that's strange. I think we need input from Ilya.
13:23:10 <doug-fish> It's strange to have different structures for the same langauge
13:23:24 <doug-fish> I think Ilya is hiding from me.  :-)
13:24:25 <Daisy> #action Daisy to follow up with the plurals issue of ru translations.
13:24:38 <Daisy> thank you, ianychoi
13:24:46 <Daisy> we move to next topic
13:25:02 <Daisy> #topic Discussion: IBM contributions
13:25:05 <amotoki> let me share one thought
13:25:11 <amotoki> http://eavesdrop.openstack.org/irclogs/%23openstack-i18n/%23openstack-i18n.2015-09-17.log.html#t2015-09-17T11:17:52
13:25:18 <amotoki> About Zanata group.
13:25:27 <amotoki> please check it later, Daisy
13:26:01 <Daisy> amotoki: got your point.
13:26:27 <Daisy> I think, Group may provide a view, but in the back end, it is still version.
13:26:32 <Daisy> I could try it after meeting.
13:26:34 <amotoki> This is Zanata help http://docs.zanata.org/en/release/user-guide/groups/group-view/
13:27:07 <Daisy> amotoki: I noticed Group today, I have the same thoughts with you. But again, the back end technology is version.
13:27:09 <amotoki> we can collect good practice after Liberty translaiton finishes :-)
13:27:24 <Daisy> Group just provide a integrated view of different versions.
13:27:36 <Daisy> amotoki: Yes.
13:27:45 <Daisy> Ok, as to IBM translations, I have some thoughts to share.
13:27:50 <amotoki> let's move on
13:27:57 <Daisy> I'm going to normalize the process to contribute translations by uploading po files.
13:28:25 <Daisy> IBM is not the single one who would go through the process. As I said before, redhat may want to contribute their translations in po files too.
13:28:33 <Daisy> Here are my thoughts.
13:28:42 <Daisy> 1. Simply uploading po files are not allowed.
13:29:10 <Daisy> 2. If people who want to contribute translations by uploading po files, following steps must be followed
13:29:11 <Daisy> 2.1 Send email to I18n mailing list, describing the source documents and languages he/she is going to upload.
13:29:11 <Daisy> 2.2 Zanata admin will create a branch. She/he could upload po files to the branch.
13:29:12 <Daisy> 2.3 When the uploading is done, language coordinators could review the translations.
13:29:14 <Daisy> 2.4 If the coordinators agree to merge to the master branch, Zanata admin will make the merge. After merging, this branch will be deleted.
13:29:16 <Daisy> If the coordinators don't agree to merge, .....??...
13:30:16 <Daisy> I have tested version creation, version deleting, version merging, in the Zanata test server.
13:30:59 <Daisy> I met with issue before, Zanata instance was crashed because of memory, but now pleia2 fixed the issue.
13:31:22 <amotoki> I think A possible case that reviewer do not agree to megre is a case where they use different wording policy for same source strings.
13:31:38 <Daisy> amotoki: Yes, that's need to be design.
13:31:47 <doug-fish> Daisy, this looks like a great process! It's been challenging as a potential contributor to sort out how to best work with the tools and community.
13:32:16 <Daisy> if coordinators don't agree, maybe coordinators ask the contributors to revise the translations ?
13:32:23 <doug-fish> If the coordinators don't agree to the merge, maybe the branch should be deleted after some period of discussion?
13:32:32 <amotoki> in that case, we can work on a proposed branch until a lang team reaches a consensus.
13:32:56 <ianychoi> I agree with this process.
13:33:06 <amotoki> but generally speaking we should not deny contributions
13:33:26 <Daisy> agree, amotoki. We are a open team. :)
13:33:36 <ianychoi> If the translation is dependent on OpenStack release (e.g., Nova kilo), the deadline would be the release date?
13:34:02 <Daisy> we are openning for any contributions, we should guide our contributors to follow our rules and improve the translations till the translations meet our quality reqirements.
13:34:04 <doug-fish> One issue with this process is that I think today at least, a branch cannot be proposed unless one is a member of the translation team
13:34:06 <amotoki> ianychoi: a bit (about a week) before the releaes.
13:34:42 <Daisy> Just as development team will guide new contributors to help them get familiar with their coding rules
13:35:22 <ianychoi> I think although the coordinator denies or does not tell any opinion on this contribution, the proposed translation is needed to be recorded and logged.
13:36:23 <ianychoi> to make the reference for active translators..
13:36:35 <Daisy> I don't think we set deadline. If the translations are good enough to help improve the percentage, coodinators would agree to merge.
13:37:00 <doug-fish> Is there any way to ensure that only *new* translations are provided by this process?
13:37:00 <Daisy> If the translations are not good, why we set deadline to merge, even it is related with a release ?
13:37:15 <doug-fish> It has been very difficult to make sure we do not propose any edits in our PO files
13:37:49 <doug-fish> and I'm afraid that during a review process, some strings that were new when proposed might get translated in the community and become edits
13:38:30 <Daisy> I don't know the correct answer, doug-fish. But while I reviewed the contributions made by your team in the test server, I could review the hisotry. If I see a translation have two history record, I could tell it is updated.
13:39:01 <Daisy> doug-fish: actually, I don't think it's reasonable to prevent people contributing better translations.
13:39:08 <amotoki> the background behind my comment is that i noticed nova translation in Japanese which was contributed by IBM uses quite different workding from other transaltion in Horizon and documentation (doen by the community)
13:39:29 <amotoki> so I don't think merging as-is is not safe.
13:39:58 <Daisy> agree, amotoki
13:40:07 <doug-fish> amotoki: thank you for taking the time to reivew - this was one of my concerns as well
13:40:22 <amotoki> Daisy: technical question: In Zanata branch, does it use a separate translation memory?
13:41:07 <amotoki> doug-fish: nova translation I checked was contributed more than one years. It is not related to IBM contribution now.
13:41:16 <Daisy> Actually, in Transifex, I feel it's very dangers to open the right for translators to upload po files directly, to the master brach. I met with the case that a people came to me saything that he uploaded po files to the wrong language team.
13:41:34 <amotoki> :-(
13:42:07 <doug-fish> Daisy: yes, agreed!
13:43:01 <Daisy> We have a hot discussion here. I probably lost some points.
13:43:37 <ianychoi> This discussion has no answers I think :)
13:43:54 <Daisy> anyway, let's try with branch.
13:44:02 <doug-fish> Daisy: back to your comment about people proposing better translations - IMO that kind of contribution should happen only through Zanata itself - doing edits though PO file upload seems risk because it bypasses glossaries and community discussion
13:45:42 <Daisy> maybe you are right, doug-fish. But we don't have technical way to block updating translations by po file.
13:46:16 <amotoki> doug-fish: agree with you. we should avoid PO upload as possible as we can.
13:46:22 <Daisy> ianychoi: Yes, we don't have the answer now. We will figure out the best way while we are working with the new tool more and more.
13:46:30 <doug-fish> If we agreed it was right we could request an enhancement from Zanata
13:46:47 <Daisy> doug-fish: that's a good point.
13:47:01 <Daisy> next step
13:47:02 <amotoki> i know some translators prefer to his/her own editor over web tool, but it is strongly discouraged.
13:47:10 <Daisy> I  know that, amotoki.
13:47:18 <Daisy> Some translators like offline translation.
13:47:26 <doug-fish> ugh
13:47:33 <doug-fish> you should keep that capability a secret!
13:47:35 <Daisy> While we are investigating the tool candidates, that's a required feature. :)
13:48:05 <Daisy> Maybe they think offline translating are quicker than online.
13:48:11 <doug-fish> If translations had reviews and merge conflict resolutino like code I think that could work
13:48:26 <ianychoi> One question: if IBM or Redhat contributes translations, and they are updated to Zanata, what would the name of updater ?
13:48:51 <doug-fish> (I hope the answer is IBM or Redhat)
13:48:52 <Daisy> doug-fish: while merging versions, I could select the option that the source strings will not be overwrited
13:49:13 <doug-fish> Daisy: does that option exist today?
13:49:19 <Daisy> While merging versions, I could set an option that the source strings will not be overwrited.
13:49:29 <Daisy> Yes
13:49:35 <doug-fish> wow - that seems perfect
13:49:38 <amotoki> great.
13:49:53 <doug-fish> problem solved!
13:49:58 <Daisy> We are digging more functions of Zanata while we use it. :)
13:50:13 <Daisy> so next steps.
13:50:20 <ianychoi> No-overwritting is so good functionality in Zanata!
13:50:57 <Daisy> I will continue the test on the test server. While I think it is OK, I will make versions in the production server. I will try groups too.
13:51:28 <Daisy> doug-fish: do you want to upload 10 langauges ? or you plan to only upload a few ?
13:51:58 <doug-fish> eventually ~10 languages and 8 or 9 projects
13:52:12 <doug-fish> but maybe going a few langauges/projects at a time would be wise
13:52:25 <Daisy> doug-fish and his team will not upload translations to the log messages, because they know community translators still have concerns to log translations.
13:52:49 <Daisy> doug-fish: how do you select which langauges you want to upload ?
13:52:50 <doug-fish> I'm not sure if it's better to upload translations for nova now (to help with the effort) or wait and propose them after the community has finished
13:52:55 <doug-fish> any suggestion on that?
13:53:44 <Daisy> amotoki and ianychoi: your suggestions ?
13:53:54 <Daisy> we have limited time.
13:54:02 <amotoki> Talking about Japaense, nova translation has no good progress and it does not attract translators so far.
13:54:31 <amotoki> so persoanlly I am okay for uploading, but I am afraid we have no more resource to review them.
13:54:35 <Daisy> doug-fish: I like Nova translations too, as a Chinese coordinator.
13:55:17 <ianychoi> I have not discussed with ujuc, Korean coordinator yet, but now I could not find any requirement to translate Nova strings to Korean from Korean guys.
13:55:22 <doug-fish> So I will upload them - I understand that does not mean they will get merged
13:55:23 <Daisy> again, all the uploading must to the review branch. amotoki: maybe you and your team go through the translations very quickly ?
13:55:31 <doug-fish> this is really no different than what happens with code
13:56:00 <amotoki> Daisy: I am not sure. At least I am short of resource for reviewing :-(
13:56:12 <doug-fish> I don't think we can upload any translations for Japanese at this time
13:56:23 <amotoki> Daisy: I will talk to katomo and other two folks from redhat.
13:56:33 <doug-fish> Tom from my team has asked for membership on the team, but does not have it yet
13:56:49 <doug-fish> I assume membership will still be needed to propose translations?
13:56:51 <ianychoi> But I welcome uploading Korean nova translation strings from doug-fish , because this process would bring further discussions in Korea I think.
13:57:05 <Daisy> I hope we could get good progress with nova translating. nova.po only contains user facing messages.
13:57:06 <amotoki> doug-fish: joining request to Japanese team?
13:57:12 <doug-fish> ianychoi: yes, understood. Thanks
13:57:15 <doug-fish> amotoki: yes, that's right
13:57:55 <amotoki> doug-fish: hmmm.. I must have missed it. please let me know again.
13:58:03 <doug-fish> sure, sounds good
13:58:08 <Daisy> ok, guys.
13:58:12 <amotoki> doug-fish: joining process is completely manual in Zanata now.
13:58:13 <ianychoi> doug-fish, thanks for your understanding :)
13:58:19 <Daisy> It looks like we have to close the meeting.
13:58:28 <Daisy> We are quit near to the end.
13:58:32 <Daisy> Anything else ?
13:58:37 <doug-fish> not here
13:58:42 <ianychoi> No from me
13:58:56 <Daisy> Thank you guys, we really have a very good discussion here. I appreciate very much.
13:59:07 <ianychoi> Thank you all :)
13:59:09 <amotoki> thank you
13:59:11 <Daisy> #endmeeting