@ -5,6 +5,14 @@
window . vAPI = window . vAPI || { } ;
window . vAPI = window . vAPI || { } ;
// http://www.w3.org/International/questions/qa-scripts#directions
var setScriptDirection = function ( langugae ) {
document . body . setAttribute (
'dir' ,
~ [ 'ar' , 'he' , 'fa' , 'ps' , 'ur' ] . indexOf ( langugae ) ? 'rtl' : 'ltr'
) ;
} ;
vAPI . download = function ( details ) {
vAPI . download = function ( details ) {
if ( ! details . url ) {
if ( ! details . url ) {
return ;
return ;
@ -40,6 +48,8 @@ if (window.chrome) {
vAPI . i18n = function ( s ) {
vAPI . i18n = function ( s ) {
return chrome . i18n . getMessage ( s ) || s ;
return chrome . i18n . getMessage ( s ) || s ;
} ;
} ;
setScriptDirection ( vAPI . i18n ( '@@ui_locale' ) ) ;
} else if ( window . safari ) {
} else if ( window . safari ) {
vAPI . getURL = function ( path ) {
vAPI . getURL = function ( path ) {
return safari . extension . baseURI + path ;
return safari . extension . baseURI + path ;
@ -53,14 +63,14 @@ if (window.chrome) {
if ( vAPI . i18nData [ vAPI . i18n = navigator . language . replace ( '-' , '_' ) ]
if ( vAPI . i18nData [ vAPI . i18n = navigator . language . replace ( '-' , '_' ) ]
|| vAPI . i18nData [ vAPI . i18n = vAPI . i18n . slice ( 0 , 2 ) ] ) {
|| vAPI . i18nData [ vAPI . i18n = vAPI . i18n . slice ( 0 , 2 ) ] ) {
vAPI . i18n Alpha2 = vAPI . i18n ;
vAPI . i18n Locale = vAPI . i18n ;
} else {
} else {
vAPI . i18n Alpha2 = vAPI . i18nData . _ ;
vAPI . i18n Locale = vAPI . i18nData . _ ;
}
}
xhr = new XMLHttpRequest ;
xhr = new XMLHttpRequest ;
xhr . overrideMimeType ( 'application/json;charset=utf-8' ) ;
xhr . overrideMimeType ( 'application/json;charset=utf-8' ) ;
xhr . open ( 'GET' , './_locales/' + vAPI . i18n Alpha2 + '/messages.json' , false ) ;
xhr . open ( 'GET' , './_locales/' + vAPI . i18n Locale + '/messages.json' , false ) ;
xhr . send ( ) ;
xhr . send ( ) ;
vAPI . i18nData = JSON . parse ( xhr . responseText ) ;
vAPI . i18nData = JSON . parse ( xhr . responseText ) ;
@ -72,6 +82,8 @@ if (window.chrome) {
return this . i18nData [ s ] || s ;
return this . i18nData [ s ] || s ;
} ;
} ;
setScriptDirection ( vAPI . i18nLocale ) ;
// update popover size to its content
// update popover size to its content
if ( safari . self . identifier === 'popover' && safari . self ) {
if ( safari . self . identifier === 'popover' && safari . self ) {
window . addEventListener ( 'load' , function ( ) {
window . addEventListener ( 'load' , function ( ) {