Skip to content

Commit fe886f6

Browse files
authored
Merge pull request #502 from steevepay/french_locales
French locales
2 parents 1d34aef + 5af37af commit fe886f6

5 files changed

Lines changed: 188 additions & 14 deletions

File tree

src/assets/locales-menu.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ const messages: any = {
4444
close: 'Close Window',
4545
quit: 'Quit',
4646
},
47+
'fr-FR': {
48+
edit: 'Éditer',
49+
help: 'Aide',
50+
save: 'Enregistrer',
51+
undo: 'Annuler',
52+
redo: 'Refaire',
53+
cut: 'Couper',
54+
copy: 'Copier',
55+
paste: 'Coller',
56+
delete: 'Supprimer',
57+
selectall: 'Tout sélectionner',
58+
toggledevtools: 'Toogle Developer Tools',
59+
close: 'Fermer',
60+
quit: 'Quitter',
61+
},
4762
}
4863

4964
export default messages

src/assets/locales.ts

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,17 @@ const message = {
111111
token: '令 牌',
112112
tokenUsername: '令牌用户名',
113113
platform: '平 台',
114+
topArticles: '置顶文章',
115+
default: '默认',
116+
external: '外链',
117+
pathContainHttps: '路径必须包含 http 或 https',
118+
articleUrlPath: '文章 URL 路径',
119+
concise: '精简',
120+
tagUrlPath: '标签 URL 路径',
121+
archivePathPrefix: '归档路径前缀',
122+
showFullText: '显示全文',
123+
showAbstractOnly: '仅显示摘要',
124+
numberArticlesRSS: 'RSS/Feed 文章数量',
114125
},
115126
zh_TW: {
116127
preview: '預 覽',
@@ -225,6 +236,17 @@ const message = {
225236
token: '令 牌',
226237
tokenUsername: '令牌用户名',
227238
platform: '平 臺',
239+
topArticles: '置顶文章',
240+
default: '默认',
241+
external: '外链',
242+
pathContainHttps: '路径必须包含 http 或 https',
243+
articleUrlPath: '文章 URL 路径',
244+
concise: '精简',
245+
tagUrlPath: '标签 URL 路径',
246+
archivePathPrefix: '归档路径前缀',
247+
showFullText: '显示全文',
248+
showAbstractOnly: '仅显示摘要',
249+
numberArticlesRSS: 'RSS/Feed 文章数量',
228250
},
229251
en: {
230252
preview: 'Preview',
@@ -338,6 +360,141 @@ const message = {
338360
token: 'Token',
339361
tokenUsername: 'Token Username',
340362
platform: 'Platform',
363+
topArticles: 'Top articles',
364+
default: 'default',
365+
external: 'External',
366+
pathContainHttps: 'The path must contain either http or https',
367+
articleUrlPath: 'Article URL path',
368+
concise: 'concise',
369+
tagUrlPath: 'Tag URL path',
370+
archivePathPrefix: 'Archive path prefix',
371+
showFullText: 'Show full text',
372+
showAbstractOnly: 'Show abstract only',
373+
numberArticlesRSS: 'Number articles RSS/Feed',
374+
},
375+
fr_FR: {
376+
preview: 'Aperçu',
377+
syncSite: 'Synchroniser',
378+
newVersion: 'Nouvelle version',
379+
article: 'Article',
380+
menu: 'Menu',
381+
tag: 'Tag',
382+
theme: 'Thème',
383+
remote: 'Serveur',
384+
system: 'Système',
385+
renderSuccess: 'Félicitations, le rendu est terminé et regardez en avant-première.',
386+
syncWarning: 'Vous devez compléter la configuration pour synchroniser !',
387+
syncSuccess: 'La synchronisation a réussi !',
388+
syncError1: 'Désolé, la synchronisation a rencontré une erreur, veuillez vous référer à',
389+
syncError2: 'pour trouver une solution',
390+
newVersionTips: 'Une nouvelle version est disponible, téléchargez la nouvelle version!',
391+
newArticle: 'Nouveau',
392+
publish: 'Publier',
393+
published: 'Publié',
394+
draft: 'Brouillon',
395+
title: 'Titre',
396+
status: 'Status',
397+
createAt: 'Heure de création',
398+
actions: 'Actions',
399+
deleteWarning: 'Après la suppression, celui-ci ne peut plus être révoqué. Êtes-vous sûr de vouloir supprimer ?',
400+
warning: 'Attention',
401+
articleDelete: 'Article supprimé',
402+
cancel: 'Annuler',
403+
select: 'Selectionner',
404+
featureImage: 'Image de fond',
405+
saveDraft: 'Enregristrer en brouillon',
406+
save: 'Enregistrer',
407+
newMenu: 'Nouveau',
408+
name: 'Nom',
409+
openType: 'type d\'ouverture',
410+
link: 'Lien',
411+
menuSuccess: 'Menu enregistré',
412+
menuDelete: 'Menu supprimé',
413+
draftSuccess: 'Enregistré en brouillon',
414+
saveSuccess: 'Sauvegardé avec succès',
415+
newTag: 'Nouveau tag',
416+
tagName: 'Nom du tag',
417+
selectTheme: 'Sélectionnez un thème',
418+
siteName: 'Nom du site',
419+
siteDescription: 'Description du site',
420+
footerInfo: 'Informations sur le Footer',
421+
isShowFeatureImage: 'Image de fond',
422+
articlesPerPage: 'Articles par page',
423+
archivesPerPage: 'Archives par page',
424+
basicSetting: 'Paramètres de base',
425+
commentSetting: 'Paramétrage des commentaires',
426+
faviconSetting: 'Paramètres du Favicon',
427+
avatarSetting: 'Paramètres de l\'avatar',
428+
domain: 'Domaine',
429+
repository: 'Nom du repository',
430+
branch: 'Branche',
431+
username: 'Nom d\'utilisateur',
432+
email: 'Email',
433+
isShowComment: 'Afficher les commentaires',
434+
domainShouldStartsWithWarn: 'Le domaine doit commencer par \'https://\' or \'http://\' ',
435+
basicSettingSuccess: 'Les réglages de base sont enregistrés',
436+
commentSettingSuccess: 'Les réglages des commentaires sont enregistrés',
437+
faviconSettingSuccess: 'Les réglages du favicon sont enregistrés',
438+
avatarSettingSuccess: 'Les réglages de l\'avatar sont enregistrés',
439+
saved: 'Enregistré',
440+
syncing: 'Synchronisation, veuillez patienter...',
441+
articleDefault: 'URL de l\'article par défaut',
442+
tagDefault: 'URL de tag par défault',
443+
hideInList: 'Cacher dans la liste',
444+
dateFormat: 'Format de la date',
445+
htmlSupport: 'Gestion du Html',
446+
change: 'Changer',
447+
editorTip: 'Vous pouvez insérer une ligne séparée <!-- more --> c\'est un identifiant pour séparer le résumé (le contenu avant cette ligne est le résumé)',
448+
saveError: 'Enregistrement échoué',
449+
privateKeyTip: 'Veuillez indiquer le chemin absolu, par exemple: /home/username/.ssh/id_rsa',
450+
remotePathTip: 'Veuillez indiquer le chemin absolu, par exemple: /home/username/www/',
451+
testConnection: 'Test de connexion',
452+
connectSuccess: 'Connexion à distance a réussi',
453+
connectFailed: 'La connexion à distance a échoué, veuillez vérifier les paramètres du référentiel, du nom d\'utilisateur et du token',
454+
sourceFolder: 'Chemin d\'accès au fichier source du site',
455+
language: 'Langue',
456+
inConfig: 'En configuration',
457+
searchArticle: 'Rechercher des articles',
458+
deleteSelected: 'Sélectionné',
459+
inputContent: 'Saisie du contenu',
460+
postUrlRepeatTip: 'L\'URL de l\'article est dupliquée avec d\'autres articles.',
461+
postUrlIncludeTip: 'L\'URL ne peut pas contenir /',
462+
onlyPicDrag: 'Seul le dragage d\'images est autorisé',
463+
themeConfigSaved: 'La configuration du thème a été sauvegardée',
464+
reset: 'Réinitialiser',
465+
reseted: 'Réinitialiser',
466+
noCustomConfigTip: 'Il n\'y a pas de configuration personnalisée pour le thème',
467+
customConfig: 'Configuration personnalisée',
468+
moreThemes: 'Autres thèmes',
469+
postSettings: 'Paramètres des postes',
470+
back: 'Retour',
471+
savedIn: 'Sauvegardé dans',
472+
or: 'ou',
473+
starSupport: 'Donnez-nous une étoile !',
474+
showAllPost: 'Afficher tout les postes',
475+
showAbstract: 'Afficher uniquement le résumé',
476+
unsavedWarning: 'Vous allez perdre tous les changements non sauvegardés, voulez-vous continuer ?',
477+
noSaveAndBack: 'Continuer',
478+
insertImage: 'Insérer une image',
479+
insertMore: 'Insérer un séparateur de résumé',
480+
writingIn: 'Ecrire en',
481+
words: 'Mots',
482+
readingTime: 'Temps de lecture',
483+
version: 'Version',
484+
token: 'Token',
485+
tokenUsername: 'Token Username',
486+
platform: 'Plate-forme',
487+
topArticles: 'Articles en tête',
488+
default: 'Par défaut',
489+
external: 'Externe',
490+
pathContainHttps: 'L\'URL doit contenir soit \'http\' ou \'https\'',
491+
articleUrlPath: 'URL des articles',
492+
concise: 'simplifié',
493+
tagUrlPath: 'URL des tags',
494+
archivePathPrefix: 'Préfix du chemin des Archives',
495+
showFullText: 'Tout afficher',
496+
showAbstractOnly: 'Afficher seulement le résumé',
497+
numberArticlesRSS: 'Nombre d\'articles RSS/Feed',
341498
},
342499
}
343500

src/components/AppSystem/includes/LanguageSetting.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<a-radio value="zhHans">简体中文</a-radio>
88
<a-radio value="en">English</a-radio>
99
<a-radio value="zh_TW">繁體中文</a-radio>
10+
<a-radio value="fr_FR">Français</a-radio>
1011
</a-radio-group>
1112
</a-form-item>
1213
<a-form-item :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">

src/views/article/ArticleUpdate.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@
162162

163163
<a-collapse-panel :header="$t('featureImage')" key="4">
164164
<a-radio-group style="margin-bottom: 16px;" defaultValue="a" buttonStyle="solid" v-model="featureType" size="small">
165-
<a-radio-button value="DEFAULT">默认</a-radio-button>
166-
<a-radio-button value="EXTERNAL">外链</a-radio-button>
165+
<a-radio-button value="DEFAULT">{{$t('default')}}</a-radio-button>
166+
<a-radio-button value="EXTERNAL">{{$t('external')}}</a-radio-button>
167167
</a-radio-group>
168168
<div v-if="featureType === 'DEFAULT'">
169169
<a-upload
@@ -185,7 +185,7 @@
185185
</div>
186186
<div v-if="featureType === 'EXTERNAL'">
187187
<a-input v-model="form.featureImagePath"></a-input>
188-
<div class="tip-text">路径必须包含 http 或 https</div>
188+
<div class="tip-text">{{$t('pathContainHttps')}}</div>
189189
<div class="feature-image-container" v-if="form.featureImagePath">
190190
<img class="feature-image" :src="form.featureImagePath" height="150">
191191
</div>
@@ -194,7 +194,7 @@
194194
<a-collapse-panel :header="$t('hideInList')" key="5">
195195
<a-switch v-model="form.hideInList"></a-switch>
196196
</a-collapse-panel>
197-
<a-collapse-panel header="置顶文章" key="6">
197+
<a-collapse-panel :header="$t('topArticles')" key="6">
198198
<a-switch v-model="form.isTop"></a-switch>
199199
</a-collapse-panel>
200200
</a-collapse>

src/views/theme/includes/BasicSetting.vue

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,31 +57,32 @@
5757
</a-radio-group>
5858
</a-form-item>
5959

60-
<a-form-item label="文章 URL 路径" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
60+
61+
<a-form-item :label="$t('articleUrlPath')" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
6162
<a-radio-group name="postPath" v-model="form.postPath">
6263
<a-tooltip placement="bottom" title="example.com/post/xxx">
63-
<a-radio value="post">默认</a-radio>
64+
<a-radio value="post">{{$t('default')}}</a-radio>
6465
</a-tooltip>
6566
<a-tooltip placement="bottom" title="example.com/xxx">
66-
<a-radio value="">精简</a-radio>
67+
<a-radio value="">{{$t('concise')}}</a-radio>
6768
</a-tooltip>
6869
</a-radio-group>
6970
</a-form-item>
7071

71-
<a-form-item label="标签 URL 路径" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
72+
<a-form-item :label="$t('tagUrlPath')" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
7273
<a-radio-group name="tagPath" v-model="form.tagPath">
7374
<a-tooltip placement="bottom" title="example.com/tag/xxx">
74-
<a-radio value="tag">默认</a-radio>
75+
<a-radio value="tag">{{$t('default')}}</a-radio>
7576
</a-tooltip>
7677
<a-tooltip placement="bottom" title="example.com/xxx">
77-
<a-radio value="">精简</a-radio>
78+
<a-radio value="">{{$t('concise')}}</a-radio>
7879
</a-tooltip>
7980
</a-radio-group>
8081
</a-form-item>
8182

8283
<ValidationProvider name="archivesPath" rules="required" v-slot="slotProps">
8384
<a-form-item
84-
label="归档路径前缀"
85+
:label="$t('archivePathPrefix')"
8586
:labelCol="formLayout.label"
8687
:wrapperCol="formLayout.wrapper"
8788
:colon="false"
@@ -98,11 +99,11 @@
9899
</a-form-item>
99100
<a-form-item label="RSS/Feed" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
100101
<a-radio-group name="tagUrlFormat" v-model="form.feedFullText">
101-
<a-radio :value="true">显示全文</a-radio>
102-
<a-radio :value="false">仅显示摘要</a-radio>
102+
<a-radio :value="true">{{$t('showFullText')}}</a-radio>
103+
<a-radio :value="false">{{$t('showAbstractOnly')}}</a-radio>
103104
</a-radio-group>
104105
</a-form-item>
105-
<a-form-item label="RSS/Feed 文章数量" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
106+
<a-form-item :label="$t('numberArticlesRSS')" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
106107
<a-input-number :min="0" :max="10000" v-model="form.feedCount" />
107108
</a-form-item>
108109
<footer-box>

0 commit comments

Comments
 (0)