[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #11133(reviewing survey)

Opened 4 weeks ago

Last modified 2 days ago

Import old votes ignores vote on Inheritance as Winning votes

Reported by: kristi Owned by: tbishop
Component: survey Data Locale:
Phase: dsub Review: kristi
Weeks: Data Xpath:


It looks to me like the Votes on Inheritance get ignored in the Automatic import.
See screenshot comparing the Winning values and the list on user's Losing votes.


Inherited votes get considered as losing.jpg (148.9 KB) - added by kristi 4 weeks ago.

Change History

Changed 4 weeks ago by kristi

comment:1 Changed 4 weeks ago by chiara

Same behavior noticed for Google (just spot-checked few locales that require inheritance - ie. deCH) and looks like votes on Inheritance got ignored in the automatic import.

comment:2 Changed 4 weeks ago by tbishop

What do the three "upwards arrow" characters indicate?

Feb February fevereiro ↑↑↑

Last edited 4 weeks ago by tbishop (previous) (diff)

comment:3 Changed 3 weeks ago by emmons

  • Status changed from new to accepted
  • Component changed from unknown to survey
  • Priority changed from assess to major
  • Milestone changed from UNSCH to 34
  • Owner changed from anybody to tbishop
  • Type changed from unknown to survey

comment:4 Changed 3 weeks ago by tbishop

Information about inheritance: http://cldr.unicode.org/index/survey-tool/guide#TOC-Inheritance

Source code associates "↑↑↑" with "Bailey". What does "Bailey" mean in this context?

  • courtyard of a castle or fortification, enclosed by a curtain wall
  • girl that has all of the qualities that any guy could ever ask for
  • type of alcoholic liqueur
  • In the classic movie It's a Wonderful Life, George Bailey is treated to what historians call a "counterfactual"—he gets to look at a parallel universe that differs from his only in that he is not in it.

Clue in CLDRFile.java:

     * Get GeorgeBailey value: that is, what the value would be if it were not directly contained in the file.
     * A non-resolving CLDRFile will always return null.
    public String getBaileyValue(String xpath, Output<String> pathWhereFound, Output<String> localeWhereFound) {

Last edited 3 weeks ago by tbishop (previous) (diff)

comment:5 Changed 3 weeks ago by tbishop

When should a vote for "↑↑↑" a.k.a. CldrUtility.INHERITANCE_MARKER count as winning?

Maybe if



Last edited 3 weeks ago by tbishop (previous) (diff)

comment:6 Changed 12 days ago by mark

As I recall, this is how it should work: you basically combine the implicit (↑↑↑) and explicit votes to see what wins, then pick the best of those if it does.

Sum up the votes for ↑↑↑ AND the votes for the explicit parent value that it points to. If that total wins, then pick the highest vote value and that one wins. If they are equal choose ↑↑↑.

Example 1.

"center" = winning value

"center" 5 votes
"↑↑↑" 4 votes
"centre" 4 votes

Then the total for "center", implicit and explicit, is 9 votes. So that total wins (as a combo). Then between them, the explicit "center" has the most votes, so it is the winning value.

Example 2. Same except:

"center" 4 votes
"↑↑↑" 4 votes
"centre" 4 votes

The total for "center", implicit and explicit, is 8 votes. So it still wins (as a combo). But this time, the votes for implicit = votes for explicit. So implicit ("↑↑↑") wins (because it wins ties).

Last edited 10 days ago by mark (previous) (diff)

comment:7 Changed 4 days ago by kristi

  • Keywords STP1 added
  • Priority changed from major to critical

comment:8 Changed 4 days ago by tbishop

This appears to be a solution: count a vote for "↑↑↑" a.k.a. CldrUtility.INHERITANCE_MARKER as winning if

file.getStringValue(xpathString).equals(file.getBaileyValue(xpathString, null, null))

With a particular saved version of the database (from 2018-5-25), logging in as user 1487, auto-import finds 6 losing votes for inheritance. This is with real votes, not "mock" data. The locale is ar_SA.

The 6 votes are for inheritance; that is, this user voted for ↑↑↑. The votes are losing since the values of file.getStringValue(xpathString) and file.getBaileyValue(xpathString, null, null) aren't equal. Most of the time those values are equal, meaning the vote for inheritance is winning.

There's some harmless duplication among the six due to votes from different old vote tables; without the duplication there are four votes.

bailey = ليلاً; curValue = ل
bailey = ليلاً; curValue = ل
bailey = مكاو الصينية (منطقة إدارية خاصة); curValue = ماكاو الصينية (منطقة إدارية خاصة)
bailey = مكاو; curValue = ماكاو
bailey = جزيرة أسينشيون; curValue = جزيرة أسينشين
bailey = ليلاً; curValue = ل

The changes are in branches/tbishop/t11133_import_inherit.

Last edited 4 days ago by tbishop (previous) (diff)

comment:9 Changed 2 days ago by tbishop

I've committed changes to trunk as changeset [14251].

comment:10 Changed 2 days ago by tbishop

Tested on smoketest: logged in as user 1487.

4,132 old winning votes were automatically imported

Still need to confirm those include votes for inheritance...

comment:11 Changed 2 days ago by tbishop

After the auto-import, I checked the database on smoketest SQL Console with this query:

select * from cldr_vote_value_34_beta where submitter=1487 and value="↑↑↑"

1,084 rows were returned. The first three:

0 	ar_SA 	1 	1487 	↑↑↑	2018-06-20 18:50:33.0 	
1 	ar_SA 	4 	1487 	↑↑↑	2018-06-20 18:50:33.0 	
2 	ar_SA 	10 	1487 	↑↑↑	2018-06-20 18:50:33.0 	

This confirms that votes for inheritance were auto-imported.

comment:12 Changed 2 days ago by tbishop

  • Status changed from accepted to reviewing
  • Review set to kristi

Add a comment

Modify Ticket

as reviewing

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.