mirror of
https://gitee.com/layui/layui.git
synced 2025-11-24 16:43:14 +08:00
Some checks failed
Issue Close Require / issue-close-require (push) Has been cancelled
* wip(i18n): laydate 国际化 * wip(i18n): colorpicker 国际化 * wip(i18n): laypage 国际化 * fix * update code * wip(i18n): 修改国际化消息对象结构 * wip(i18n): update * wip(i18n): code 国际化 * wip(i18n): dropdown 国际化 * wip(i18n): flow 国际化 * wip(i18n): form 国际化 * wip(i18n): layer 国际化 * wip(i18n): table 国际化 * wip(i18n): transfer 国际化 * wip(i18n): tree 国际化 * wip(i18n): treeTable 控制台提示统一为英文 * wip(i18n): upload 国际化 * wip(i18n): util 国际化 * wip(i18n): update code * wip(i18n): update code * wip(i18n): fix * wip(i18n): 优化 $t 代码细节 * wip(i18n): 修复 laydate lang * wip(i18n): 改进 upload i18n key * wip(i18n): 修复打包后 laydate 和 layer 异常 * wip(i18n): 移除国际化消息中的 `lay` 命名空间 * refactor(i18n): 改进国际化支持 * wip(i18n): 修复 table text.none 切换 locale 无效问题 * style(laydate): 优化逗号格式 * chore(laydate): 优化部分提示 * chore(i18n): 优化演示中部分国际化消息 * refactor: 剔除 laydate 单独版的判断逻辑 为接下来全面支持国际化做铺垫 * wip(i18n): 为 laydate 重新添加完整国际化的支持 * i18n(laydate): 优化 lang() 方法中的逻辑 * chore(util): 删除未使用的代码 * chore(i18n): 优化注释 * docs(i18n): 新增国际化文档(beta) note: 由于时间关系,本次提交仅为初版,该文档尚未完成 * wip(docs): 完善 i18n 文档 * fix(i18n): 修复 laypage 变量定义前使用 * wip(i18n): 转义翻译结果 * fix(i18n): 修复 table 排序 key 无效 * wip(i18n): 优化获取对象中指定路径值的性能 * wip(i18n): 删除 $t 可变长参数重载 * chore(i18n): 删除不必要的注释 * refactor(i18n): laydate 国际化方案迁移至 i18n.$t (#2745) * wip(i18n): 改进 laydate i18nMsg key * update code * wip(i18n): 改进 laydate 面板中的日期格式处理 * wip(i18n): 改进 util.toDateString meridiem 遵循 CLDR day periods 标准 * update code * wip(docs): 优化 i18n 文档示例 * docs(i18n): 优化正式文档 * docs(i18n): 优化部分文案 * docs(i18n): 优化示例 --------- Co-authored-by: 贤心 <3277200+sentsim@users.noreply.github.com>
167 lines
4.7 KiB
JavaScript
167 lines
4.7 KiB
JavaScript
/**
|
||
* Français (fr)
|
||
*/
|
||
|
||
export default {
|
||
code: {
|
||
copy: 'Copier le code',
|
||
copied: 'Copié',
|
||
copyError: 'Échec de la copie',
|
||
maximize: 'Afficher en plein écran',
|
||
restore: 'Restaurer l’affichage',
|
||
preview: 'Aperçu dans une nouvelle fenêtre'
|
||
},
|
||
colorpicker: {
|
||
clear: 'Effacer',
|
||
confirm: 'OK'
|
||
},
|
||
dropdown: {
|
||
noData: 'Aucune donnée disponible'
|
||
},
|
||
flow: {
|
||
loadMore: 'Charger plus',
|
||
noMore: 'Plus de données'
|
||
},
|
||
form: {
|
||
select: {
|
||
noData: 'Aucune donnée disponible',
|
||
noMatch: 'Aucune correspondance',
|
||
placeholder: 'Veuillez sélectionner'
|
||
},
|
||
validateMessages: {
|
||
required: 'Ce champ est obligatoire',
|
||
phone: 'Numéro de téléphone invalide',
|
||
email: 'Adresse e-mail invalide',
|
||
url: 'URL invalide',
|
||
number: 'Uniquement des chiffres',
|
||
date: 'Format de date invalide',
|
||
identity: 'Numéro d’identification invalide'
|
||
},
|
||
verifyErrorPromptTitle: 'Avertissement'
|
||
},
|
||
laydate: {
|
||
months: ['Janv', 'Févr', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sept', 'Oct', 'Nov', 'Déc'],
|
||
weeks: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||
time: ['Heure', 'Minute', 'Seconde'],
|
||
literal: {
|
||
year: ''
|
||
},
|
||
selectDate: 'Sélec. date',
|
||
selectTime: 'Sélec. heure',
|
||
startTime: 'Heure de début',
|
||
endTime: 'Heure de fin',
|
||
// Recommandé en version abrégée en raison de l’espace limité du composant
|
||
tools: {
|
||
confirm: 'OK',
|
||
clear: 'Eff.',
|
||
now: 'Ajd.',
|
||
reset: 'Réinit.'
|
||
},
|
||
rangeOrderPrompt: 'L’heure de fin ne peut pas être antérieure à l’heure de début\nVeuillez recommencer',
|
||
invalidDatePrompt: 'Date ou heure hors plage valide\n',
|
||
formatErrorPrompt: 'Format de date invalide\nLe format attendu est :\n{format}\n',
|
||
autoResetPrompt: 'Il a été réinitialisé pour vous',
|
||
preview: 'Résultat sélectionné actuel'
|
||
},
|
||
layer: {
|
||
confirm: 'Confirmer',
|
||
cancel: 'Annuler',
|
||
defaultTitle: 'Information',
|
||
prompt: {
|
||
InputLengthPrompt: 'Maximum {length} caractères'
|
||
},
|
||
photos: {
|
||
noData: 'Aucune image',
|
||
tools: {
|
||
rotate: 'Faire pivoter',
|
||
scaleX: 'Inverser horizontalement',
|
||
zoomIn: 'Agrandir',
|
||
zoomOut: 'Réduire',
|
||
reset: 'Réinitialiser',
|
||
close: 'Fermer'
|
||
},
|
||
viewPicture: 'Voir l’image originale',
|
||
urlError: {
|
||
prompt: 'L’adresse de l’image est invalide,\nContinuer avec la suivante ?',
|
||
confirm: 'Suivante',
|
||
cancel: 'Annuler'
|
||
}
|
||
}
|
||
},
|
||
laypage: {
|
||
prev: 'Page précédente',
|
||
next: 'Page suivante',
|
||
first: 'Première',
|
||
last: 'Dernière',
|
||
total: 'Total {total} éléments',
|
||
pagesize: 'éléments/page',
|
||
goto: 'Aller à',
|
||
page: 'page',
|
||
confirm: 'Confirmer'
|
||
},
|
||
table: {
|
||
sort: {
|
||
asc: 'Croissant',
|
||
desc: 'Décroissant'
|
||
},
|
||
noData: 'Aucune donnée',
|
||
tools: {
|
||
filter: {
|
||
title: 'Filtrer les colonnes'
|
||
},
|
||
export: {
|
||
title: 'Exporter',
|
||
noDataPrompt: 'Aucune donnée à exporter',
|
||
compatPrompt: 'L’exportation n’est pas supportée par IE, veuillez utiliser Chrome ou un autre navigateur moderne',
|
||
csvText: 'Exporter au format CSV'
|
||
},
|
||
print: {
|
||
title: 'Imprimer',
|
||
noDataPrompt: 'Aucune donnée à imprimer'
|
||
}
|
||
},
|
||
dataFormatError: 'Les données retournées sont invalides. Le code de réussite attendu est : "{statusName}": {statusCode}',
|
||
xhrError: 'Erreur de requête : {msg}'
|
||
},
|
||
transfer: {
|
||
noData: 'Aucune donnée',
|
||
noMatch: 'Aucune correspondance',
|
||
title: ['Liste 1', 'Liste 2'],
|
||
searchPlaceholder: 'Recherche par mot-clé'
|
||
},
|
||
tree: {
|
||
defaultNodeName: 'Sans nom',
|
||
noData: 'Aucune donnée',
|
||
deleteNodePrompt: 'Confirmer la suppression du nœud "{name}" ?'
|
||
},
|
||
upload: {
|
||
fileType: {
|
||
file: 'Fichier',
|
||
image: 'Image',
|
||
video: 'Vidéo',
|
||
audio: 'Audio'
|
||
},
|
||
validateMessages: {
|
||
fileExtensionError: 'Le {fileType} sélectionné contient un format non supporté',
|
||
filesOverLengthLimit: 'Nombre maximum de fichiers : {length}',
|
||
currentFilesLength: 'Vous avez sélectionné {length} fichiers',
|
||
fileOverSizeLimit: 'La taille du fichier ne doit pas dépasser {size}'
|
||
},
|
||
chooseText: '{length} fichiers'
|
||
},
|
||
util: {
|
||
timeAgo: {
|
||
days: 'il y a {days} jours',
|
||
hours: 'il y a {hours} heures',
|
||
minutes: 'il y a {minutes} minutes',
|
||
future: 'Futur',
|
||
justNow: 'À l’instant'
|
||
},
|
||
toDateString: {
|
||
meridiem: function(hours, minutes){
|
||
return hours < 12 ? 'AM' : 'PM';
|
||
}
|
||
}
|
||
}
|
||
};
|