@@ -5,27 +5,7 @@ define([
55 var getKeys = function ( display ) {
66 // Sets display to default if not set.
77 display = display || function ( item ) {
8- var id = item . id ;
9- var value = null ;
10-
11- // Return a human-readable value if the browser defines languages.
12- if ( navigator . languages instanceof Array ) {
13- value = item . definition && item . definition . name && ( navigator . languages . map ( function ( lang ) {
14- return item . definition . name [ lang ] ;
15- } ) . filter ( function ( value ) {
16- return value != null ;
17- } ) [ 0 ] || ( item . definition . name [ Object . keys ( item . definition . name ) [ 0 ] ] ) ) ;
18- }
19-
20- // Display human-readable value if it exists
21- if ( value != null ) {
22- return value + ' (' + id + ')' ;
23- }
24-
25- // Otherwise display just the identifier.
26- else {
27- return id ;
28- }
8+ return displayLangString ( item . id , item . definition && item . definition . name ) ;
299 } ;
3010
3111 return function ( items , query ) {
@@ -34,9 +14,11 @@ define([
3414 } ) ;
3515 } ;
3616 } ;
17+
3718 var displayItem = function ( item ) {
3819 return item ;
3920 } ;
21+
4022 var displayActor = function ( actor ) {
4123 var id = '' ;
4224 var pre = '' ;
@@ -54,6 +36,7 @@ define([
5436 }
5537 return actor . name + ' (' + pre + id + ')' ;
5638 } ;
39+
5740 var view = function ( segment , type , example , display ) {
5841 return CompositeView . extend ( {
5942 example : example ,
@@ -65,10 +48,28 @@ define([
6548 } ) ;
6649 } ;
6750
51+ var displayLangString = function ( id , langMap ) {
52+ var value = null ;
53+
54+ // Return a human-readable value if the browser defines languages.
55+ if ( navigator . languages instanceof Array ) {
56+ value = langMap && ( [ window . lrs . lang ] . concat ( navigator . languages || [ ] ) . map ( function ( lang ) {
57+ return langMap [ lang ] ;
58+ } ) . filter ( function ( value ) {
59+ return value != null ;
60+ } ) [ 0 ] || ( langMap [ Object . keys ( langMap ) [ 0 ] ] ) ) ;
61+ }
62+
63+ // Display human-readable value if it exists. Otherwise display just the identifier.
64+
65+ return value != null ? ( value + ' (' + id + ')' ) : id ;
66+ } ;
67+
6868 return {
6969 getKeys : getKeys ,
7070 displayItem : displayItem ,
7171 displayActor : displayActor ,
72- view : view
72+ view : view ,
73+ displayLangString : displayLangString
7374 } ;
74- } ) ;
75+ } ) ;
0 commit comments