From d3862db0f3138af25a862c7aa726142f030456de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A8le=20ZANNOU-TCHOKO?= <11563693+zedauni@users.noreply.github.com> Date: Tue, 31 Jan 2023 03:39:56 +0100 Subject: [PATCH] Add french language (#460) * Create fr.json * Update index.js * Update i18n.d.ts * Update option.md * Update option.md * Update artplayer.d.ts --- docs/assets/ts/artplayer.d.ts | 4 +- .../docs/en/start/option.md | 4 +- .../artplayer-vitepress/docs/start/option.md | 4 +- packages/artplayer/src/i18n/fr.json | 38 +++++++++++++++++++ packages/artplayer/src/i18n/index.js | 2 + packages/artplayer/types/i18n.d.ts | 2 +- 6 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 packages/artplayer/src/i18n/fr.json diff --git a/docs/assets/ts/artplayer.d.ts b/docs/assets/ts/artplayer.d.ts index bbbdfcbed..04d61edfe 100644 --- a/docs/assets/ts/artplayer.d.ts +++ b/docs/assets/ts/artplayer.d.ts @@ -401,7 +401,7 @@ export type Events = { restart: []; }; -type I18nKeys = 'en' | 'zh-cn' | 'zh-tw' | 'pl' | 'cs' | 'es' | 'fa' | (string & Record); +type I18nKeys = 'en' | 'zh-cn' | 'zh-tw' | 'pl' | 'cs' | 'es' | 'fa' | 'fr' | (string & Record); type I18nValue = { 'Video Info': string; @@ -1059,4 +1059,4 @@ export type Utils = { escape(str: string): string; capitalize(str: string): string; isStringOrNumber(val: any): boolean; -}; \ No newline at end of file +}; diff --git a/packages/artplayer-vitepress/docs/en/start/option.md b/packages/artplayer-vitepress/docs/en/start/option.md index e104a7ec2..9a01b0e52 100644 --- a/packages/artplayer-vitepress/docs/en/start/option.md +++ b/packages/artplayer-vitepress/docs/en/start/option.md @@ -1058,7 +1058,7 @@ var art = new Artplayer({ - Type: `String` - Default: `navigator.language.toLowerCase()` -The default display language currently supports: `en`, `zh-cn`, `zh-tw`, `cs`, `pl`, `es`, `fa` +The default display language currently supports: `en`, `zh-cn`, `zh-tw`, `cs`, `pl`, `es`, `fa`, `fr`
▶ Run Code
@@ -1211,4 +1211,4 @@ var art = new Artplayer({ url: '/assets/sample/video.mp4', airplay: true, }); -``` \ No newline at end of file +``` diff --git a/packages/artplayer-vitepress/docs/start/option.md b/packages/artplayer-vitepress/docs/start/option.md index e376405fb..2cc4e61fb 100644 --- a/packages/artplayer-vitepress/docs/start/option.md +++ b/packages/artplayer-vitepress/docs/start/option.md @@ -1058,7 +1058,7 @@ var art = new Artplayer({ - Type: `String` - Default: `navigator.language.toLowerCase()` -默认显示语言,目前支持:`en`, `zh-cn`, `zh-tw`, `cs`, `pl`, `es`, `fa` +默认显示语言,目前支持:`en`, `zh-cn`, `zh-tw`, `cs`, `pl`, `es`, `fa`, `fr`
▶ Run Code
@@ -1211,4 +1211,4 @@ var art = new Artplayer({ url: '/assets/sample/video.mp4', airplay: true, }); -``` \ No newline at end of file +``` diff --git a/packages/artplayer/src/i18n/fr.json b/packages/artplayer/src/i18n/fr.json new file mode 100644 index 000000000..663ef471b --- /dev/null +++ b/packages/artplayer/src/i18n/fr.json @@ -0,0 +1,38 @@ +{ + "Video Info": "Informations de la vidéo", + "Close": "Fermer", + "Video Load Failed": "Téléchargement de la vidéo échoué", + "Volume": "Volume", + "Play": "Lire", + "Pause": "Pause", + "Rate": "Vitesse", + "Mute": "Muet", + "Video Flip": "Rotation de la vidéo", + "Horizontal": "Horizontal", + "Vertical": "Vertical", + "Reconnect": "Reconnexion", + "Show Setting": "Afficher les paramètres", + "Hide Setting": "Cacher les paramètres", + "Screenshot": "Capture d'écran", + "Play Speed": "Vitesse de lecture", + "Aspect Ratio": "Rapport d'aspect", + "Default": "Défaut", + "Normal": "Normal", + "Open": "Ouvrir", + "Switch Video": "Basculer la vidéo", + "Switch Subtitle": "Basculer le sous-titre", + "Fullscreen": "Plein écran", + "Exit Fullscreen": "Quitter le plein écran", + "Web Fullscreen": "Plein écran Web", + "Exit Web Fullscreen": "Quitter le plein écran Web", + "Mini Player": "Mini lecteur", + "PIP Mode": "Mode PiP", + "Exit PIP Mode": "Fermer le mode PiP", + "PIP Not Supported": "Mode PiP non supporté", + "Fullscreen Not Supported": "Plein écran non supporté", + "Subtitle Offset": "Réglage des sous-titres", + "Last Seen": "Dernière position", + "Jump Play": "Continuer", + "AirPlay": "AirPlay", + "AirPlay Not Available": "AirPlay non disponible" +} diff --git a/packages/artplayer/src/i18n/index.js b/packages/artplayer/src/i18n/index.js index 2cda3e0ef..97fe6a994 100644 --- a/packages/artplayer/src/i18n/index.js +++ b/packages/artplayer/src/i18n/index.js @@ -5,6 +5,7 @@ import pl from './pl.json'; import cs from './cs.json'; import es from './es.json'; import fa from './fa.json'; +import fr from './fr.json'; export default class I18n { constructor(art) { @@ -17,6 +18,7 @@ export default class I18n { cs: cs, es: es, fa: fa, + fr: fr, }; this.update(art.option.i18n); diff --git a/packages/artplayer/types/i18n.d.ts b/packages/artplayer/types/i18n.d.ts index e31b72df7..cb14884a7 100644 --- a/packages/artplayer/types/i18n.d.ts +++ b/packages/artplayer/types/i18n.d.ts @@ -1,4 +1,4 @@ -type I18nKeys = 'en' | 'zh-cn' | 'zh-tw' | 'pl' | 'cs' | 'es' | 'fa' | (string & Record); +type I18nKeys = 'en' | 'zh-cn' | 'zh-tw' | 'pl' | 'cs' | 'es' | 'fa' | 'fr' | (string & Record); type I18nValue = { 'Video Info': string;