Skip to content

Commit

Permalink
remove outline-i18n
Browse files Browse the repository at this point in the history
  • Loading branch information
daniellacosse committed Feb 21, 2024
1 parent d31ae3f commit a9bcfa7
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 19 deletions.
1 change: 0 additions & 1 deletion client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@
"minimist": "^1.2.6",
"node-fetch": "^3.3.0",
"node-gyp": "^10.0.1",
"outline-i18n": "Jigsaw-Code/outline-i18n#v0.0.7",
"postcss": "^7.0.39",
"postcss-rtl": "^1.7.3",
"prettier": "^2.8.0",
Expand Down
46 changes: 44 additions & 2 deletions client/src/www/ui_components/app-root.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ import '@polymer/paper-item/paper-item.js';
import '@polymer/paper-item/paper-icon-item.js';
import '@polymer/paper-listbox/paper-listbox.js';
import '@polymer/paper-toast/paper-toast.js';
import 'outline-i18n/index.js';
import './about-view.js';
import './add-server-view.js';
import './feedback-view.js';
Expand All @@ -55,6 +54,49 @@ import {mixinBehaviors} from '@polymer/polymer/lib/legacy/class.js';
import {html} from '@polymer/polymer/lib/utils/html-tag.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';

function makeLookUpLanguage(availableLanguages) {
return languageId => {
languageId = languageId.toLowerCase();
for (const availableLanguage of availableLanguages) {
const parts = availableLanguage.toLowerCase().split('-');
while (parts.length) {
const joined = parts.join('-');
if (languageId === joined) {
return availableLanguage;
}
parts.pop();
}
}
};
}

function getBrowserLanguages() {
// Ensure that navigator.languages is defined and not empty, as can be the case with some browsers
// (i.e. Chrome 59 on Electron).
const languages = navigator.languages;
if (languages && languages.length > 0) {
return languages;
}
return [navigator.language];
}

window.OutlineI18n = {
getBestMatchingLanguage(available) {
const lookUpAvailable = makeLookUpLanguage(available);
for (const candidate of getBrowserLanguages()) {
const parts = candidate.split('-');
while (parts.length) {
const joined = parts.join('-');
const closest = lookUpAvailable(joined);
if (closest) {
return closest;
}
parts.pop();
}
}
},
};

// Workaround:
// https://github.com/PolymerElements/paper-menu-button/issues/101#issuecomment-297856912
PaperMenuButton.prototype.properties.restoreFocusOnClose.value = false;
Expand Down Expand Up @@ -765,7 +807,7 @@ export class AppRoot extends mixinBehaviors([AppLocalizeBehavior], PolymerElemen

_computeLanguage(availableLanguages, defaultLanguage) {
const overrideLanguage = window.localStorage.getItem('overrideLanguage');
const bestMatchingLanguage = OutlineI18n.getBestMatchingLanguage(Object.keys(availableLanguages));
const bestMatchingLanguage = window.OutlineI18n.getBestMatchingLanguage(Object.keys(availableLanguages));
return overrideLanguage || bestMatchingLanguage || defaultLanguage;
}

Expand Down
18 changes: 2 additions & 16 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit a9bcfa7

Please sign in to comment.