Skip to content

Loading…

Safari updates #406

Merged
merged 2 commits into from

2 participants

@Deathamns

No description provided.

Deathamns added some commits
@Deathamns Deathamns Safari: small locale improvements
Since there is no API for localization in Safari, we read the locale files
every time when an extension page opens.
This commit adds a new file "make-locale-safari.py", which will make the
size of the locale files smaller.
25cf808
@Deathamns Deathamns Safari: fix tooltips for dynamic filtering 326ed21
@gorhill gorhill merged commit 922e638 into chrisaljoudi:master
@gorhill

I thought using % instead of v[hw] would mess up the tip, but I see using position: fixed causes the % to become synonymous of v[hw].

@Deathamns

Yeah, position: fixed is relative to the browser window.

@Deathamns Deathamns deleted the unknown repository branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Dec 8, 2014
  1. @Deathamns

    Safari: small locale improvements

    Deathamns committed
    Since there is no API for localization in Safari, we read the locale files
    every time when an extension page opens.
    This commit adds a new file "make-locale-safari.py", which will make the
    size of the locale files smaller.
  2. @Deathamns
This page is out of date. Refresh to see the latest.
View
2 platform/safari/Info.plist
@@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleShortVersionString</key>
- <string>0.7.2.0</string>
+ <string>0.8.1.2</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>Chrome</key>
View
2 platform/safari/update_safariextz.plist
@@ -10,7 +10,7 @@
<key>Developer Identifier</key>
<string></string>
<key>CFBundleShortVersionString</key>
- <string>0.7.0.11</string>
+ <string>0.8.1.2</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>URL</key>
View
16 platform/safari/vapi-common.js
@@ -36,7 +36,7 @@ self.vAPI = self.vAPI || {};
var setScriptDirection = function(language) {
document.body.setAttribute(
'dir',
- ~['ar', 'he', 'fa', 'ps', 'ur'].indexOf(language) ? 'rtl' : 'ltr'
+ ['ar', 'he', 'fa', 'ps', 'ur'].indexOf(language) !== -1 ? 'rtl' : 'ltr'
);
};
@@ -77,12 +77,12 @@ vAPI.getURL = function(path) {
// supported languages
// first language is the default
vAPI.i18nData = [
- "en", "ar", "cs", "da", "de", "el", "es", "et", "fi", "fr", "he", "hi",
- "hr", "hu", "id", "it", "ja", "mr", "nb", "nl", "pl", "pt_BR", "pt_PT",
- "ro", "ru", "sv", "tr", "uk", "vi", "zh_CN"
+ 'en', 'ar', 'cs', 'da', 'de', 'el', 'es', 'et', 'fi', 'fil', 'fr', 'he',
+ 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'mr', 'nb', 'nl', 'pl', 'pt-BR',
+ 'pt-PT', 'ro', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh-CN'
];
-vAPI.i18n = navigator.language.replace('-', '_');
+vAPI.i18n = navigator.language;
if (vAPI.i18nData.indexOf(vAPI.i18n) === -1) {
vAPI.i18n = vAPI.i18n.slice(0, 2);
@@ -96,14 +96,10 @@ setScriptDirection(vAPI.i18n);
var xhr = new XMLHttpRequest;
xhr.overrideMimeType('application/json;charset=utf-8');
-xhr.open('GET', './_locales/' + vAPI.i18n + '/messages.json', false);
+xhr.open('GET', './_locales/' + vAPI.i18n + '.json', false);
xhr.send();
vAPI.i18nData = JSON.parse(xhr.responseText);
-for (var i18nKey in vAPI.i18nData) {
- vAPI.i18nData[i18nKey] = vAPI.i18nData[i18nKey].message;
-}
-
vAPI.i18n = function(s) {
return this.i18nData[s] || s;
};
View
6 src/css/popup.css
@@ -84,14 +84,14 @@ p {
background-color: #fffff4;
border: 1px solid #888;
border-radius: 5px;
- bottom: 20vh;
+ bottom: 20%;
box-shadow: 1px 1px 2px 0 rgba(0,0,0,0.8);
display: none;
font-size: small;
- left: 8vw;
+ left: 8%;
padding: 0.25em;
position: fixed;
- right: 8vw;
+ right: 8%;
text-align: center;
}
.dynamicFiltering div:not(.blocked):hover > .tip:nth-of-type(1) {
View
39 tools/make-locale-safari.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+
+import os
+import json
+import sys
+from shutil import rmtree
+from collections import OrderedDict
+
+if not sys.argv[1]:
+ raise SystemExit('Build dir missing.')
+
+
+def mkdirs(path):
+ try:
+ os.makedirs(path)
+ finally:
+ return os.path.exists(path)
+
+
+build_dir = os.path.abspath(sys.argv[1])
+locale_dir = os.path.join(build_dir, '_locales')
+
+for alpha2 in os.listdir(locale_dir):
+ locale_path = os.path.join(locale_dir, alpha2, 'messages.json')
+ with open(locale_path, encoding='utf-8') as f:
+ string_data = json.load(f, object_pairs_hook=OrderedDict)
+
+ for string_name in string_data:
+ string_data[string_name] = string_data[string_name]['message']
+
+ rmtree(os.path.join(locale_dir, alpha2))
+
+ alpha2 = alpha2.replace('_', '-')
+ locale_path = os.path.join(locale_dir, alpha2 + '.json')
+
+ mkdirs(os.path.join(locale_dir))
+
+ with open(locale_path, 'wt', encoding='utf-8', newline='\n') as f:
+ json.dump(string_data, f, ensure_ascii=False)
View
4 tools/make-safari.sh
@@ -18,4 +18,8 @@ cp src/img/icon_128.png $DES/Icon.png
cp platform/safari/*.js $DES/js/
cp platform/safari/Info.plist $DES/
cp platform/safari/Settings.plist $DES/
+
+echo "*** uBlock_xpi: Generating locales"
+python tools/make-locale-safari.py $DES/
+
echo "*** uBlock.safariextension: Package done."
Something went wrong with that request. Please try again.