aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/utils/i18n.js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-08-14 00:00:24 +1000
committerGitHub <noreply@github.com>2018-08-14 00:00:24 +1000
commit48bf36831611a854f24f8bc9f40d0944c381bd29 (patch)
tree165ac6d7b4dbd93f9459e195eaa6c5ba2c411005 /src/js/utils/i18n.js
parenta8f8486cf49aebc09c8f57bec2f8172970974536 (diff)
parent8f94ce86a04c1b8f7cc17e7d578c6b8c76572319 (diff)
downloadplyr-48bf36831611a854f24f8bc9f40d0944c381bd29.tar.lz
plyr-48bf36831611a854f24f8bc9f40d0944c381bd29.tar.xz
plyr-48bf36831611a854f24f8bc9f40d0944c381bd29.zip
Merge pull request #1160 from sampotts/develop
v3.4.0
Diffstat (limited to 'src/js/utils/i18n.js')
-rw-r--r--src/js/utils/i18n.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/js/utils/i18n.js b/src/js/utils/i18n.js
new file mode 100644
index 00000000..f71e1a42
--- /dev/null
+++ b/src/js/utils/i18n.js
@@ -0,0 +1,34 @@
+// ==========================================================================
+// Plyr internationalization
+// ==========================================================================
+
+import is from './is';
+import { getDeep } from './objects';
+import { replaceAll } from './strings';
+
+const i18n = {
+ get(key = '', config = {}) {
+ if (is.empty(key) || is.empty(config)) {
+ return '';
+ }
+
+ let string = getDeep(config.i18n, key);
+
+ if (is.empty(string)) {
+ return '';
+ }
+
+ const replace = {
+ '{seektime}': config.seekTime,
+ '{title}': config.title,
+ };
+
+ Object.entries(replace).forEach(([key, value]) => {
+ string = replaceAll(string, key, value);
+ });
+
+ return string;
+ },
+};
+
+export default i18n;