Fixed some translation errors & added Catalan!
This commit is contained in:
@@ -92,6 +92,7 @@ A big thanks to all our sponsors! Without them, it wouldn't be possible to creat
|
|||||||
|🇵🇹 Portuguese |quiradon |🟢 Up To Date |
|
|🇵🇹 Portuguese |quiradon |🟢 Up To Date |
|
||||||
|🇨🇿 Czech |spyeye_ |🟢 Up To Date |
|
|🇨🇿 Czech |spyeye_ |🟢 Up To Date |
|
||||||
|🇩🇪 German |benzorich |🟢 Up To Date |
|
|🇩🇪 German |benzorich |🟢 Up To Date |
|
||||||
|
|❓ Catalan |guillee3 |🟢 Up To Date |
|
||||||
|🇫🇷 French |sankedev & tostam |🟠 Temporary Outdated (beta) |
|
|🇫🇷 French |sankedev & tostam |🟠 Temporary Outdated (beta) |
|
||||||
|🇷🇴 Romanian |sankedev |🟠 Temporary Outdated (beta) |
|
|🇷🇴 Romanian |sankedev |🟠 Temporary Outdated (beta) |
|
||||||
|🇪🇸 Spanish |redactado & josuens |🟠 Temporary Outdated (beta) |
|
|🇪🇸 Spanish |redactado & josuens |🟠 Temporary Outdated (beta) |
|
||||||
|
|||||||
@@ -0,0 +1,477 @@
|
|||||||
|
{
|
||||||
|
"_TRANSLATION":{
|
||||||
|
"otversion":"v4.0.0",
|
||||||
|
"translator":"guillee3",
|
||||||
|
"lastedited":"21/08/2024",
|
||||||
|
"language":"Catalan"
|
||||||
|
},
|
||||||
|
"checker":{
|
||||||
|
"system":{
|
||||||
|
"typeError":"[ERROR]",
|
||||||
|
"headerOpenTicket":"OPEN TICKET",
|
||||||
|
"typeWarning":"[AVÍS]",
|
||||||
|
"typeInfo":"[INFO]",
|
||||||
|
"headerConfigChecker":"VERIFICADOR DE CONFIGURACIÓ",
|
||||||
|
"headerDescription":"comprova si existeixen errors als teus fitxers de configuració!",
|
||||||
|
"footerError":"el bot no s'iniciarà fins que tots els {0} es solucionin!",
|
||||||
|
"footerWarning":"es recomana solucionar tots els {0} abans de començar!",
|
||||||
|
"footerSupport":"SUPORT: {0} - DOCUMENTACIÓ: {1}",
|
||||||
|
"compactInformation":"utilitza {0} per obtenir més informació!",
|
||||||
|
"dataPath":"ruta",
|
||||||
|
"dataDocs":"documents",
|
||||||
|
"dataMessages":"missatge"
|
||||||
|
},
|
||||||
|
"messages":{
|
||||||
|
"stringTooShort":"Aquesta cadena no pot tenir menys de {0} caràcters!",
|
||||||
|
"stringTooLong":"Aquesta cadena no pot tenir més de {0} caràcters!",
|
||||||
|
"stringLengthInvalid":"Aquesta cadena ha de tenir {0} caràcters!",
|
||||||
|
"stringStartsWith":"Aquesta cadena ha de començar amb {0}!",
|
||||||
|
"stringEndsWith":"Aquesta cadena ha d'acabar amb {0}!",
|
||||||
|
"stringContains":"Aquesta cadena ha de contenir {0}!",
|
||||||
|
"stringChoices":"Aquesta cadena només pot ser un dels valors següents: {0}!",
|
||||||
|
"stringRegex":"Aquesta cadena és invàlida!",
|
||||||
|
|
||||||
|
"numberTooShort":"Aquest nombre no pot tenir menys de {0} caràcters!",
|
||||||
|
"numberTooLong":"Aquest nombre no pot tenir més de {0} caràcters!",
|
||||||
|
"numberLengthInvalid":"Aquest nombre ha de tenir {0} caràcters!",
|
||||||
|
"numberTooSmall":"Aquest nombre ha de ser almenys {0}!",
|
||||||
|
"numberTooLarge":"Aquest nombre ha de ser com a màxim {0}!",
|
||||||
|
"numberNotEqual":"Aquest nombre ha de ser {0}!",
|
||||||
|
"numberStep":"Aquest nombre ha de ser un múltiple de {0}!",
|
||||||
|
"numberStepOffset":"Aquest nombre ha de ser un múltiple de {0} començant amb {1}!",
|
||||||
|
"numberStartsWith":"Aquest nombre ha de començar amb {0}!",
|
||||||
|
"numberEndsWith":"Aquest nombre ha d'acabar amb {0}!",
|
||||||
|
"numberContains":"Aquest nombre ha de contenir {0}!",
|
||||||
|
"numberChoices":"Aquest nombre només pot ser un dels valors següents: {0}!",
|
||||||
|
"numberFloat":"Aquest nombre no pot ser un decimal!",
|
||||||
|
"numberNegative":"Aquest nombre no pot ser negatiu!",
|
||||||
|
"numberPositive":"Aquest nombre no pot ser positiu!",
|
||||||
|
"numberZero":"Aquest nombre no pot ser zero!",
|
||||||
|
|
||||||
|
"booleanTrue":"Aquest booleà no pot ser veritable!",
|
||||||
|
"booleanFalse":"Aquest booleà no pot ser fals!",
|
||||||
|
|
||||||
|
"arrayEmptyDisabled":"Aquest array no pot estar buit!",
|
||||||
|
"arrayEmptyRequired":"Aquest array ha d'estar buit!",
|
||||||
|
"arrayTooShort":"Aquest array ha de tenir una longitud d'almenys {0}!",
|
||||||
|
"arrayTooLong":"Aquest array ha de tenir una longitud màxima de {0}!",
|
||||||
|
"arrayLengthInvalid":"Aquest array ha de tenir una longitud de {0}!",
|
||||||
|
"arrayInvalidTypes":"Aquest array només pot contenir els tipus següents: {0}!",
|
||||||
|
"arrayDouble":"Aquest array no permet el mateix valor dues vegades!",
|
||||||
|
|
||||||
|
"discordInvalidId":"Aquest és un id de {0} de discord invàlid!",
|
||||||
|
"discordInvalidIdOptions":"Aquest és un id de {0} de discord invàlid! També en pots utilitzar un d'aquests: {1}!",
|
||||||
|
"discordInvalidToken":"Aquest és un token de discord invàlid (sintàcticament)!",
|
||||||
|
"colorInvalid":"Aquest és un color hex invàlid!",
|
||||||
|
"emojiTooShort":"Aquesta cadena ha de tenir almenys {0} emojis!",
|
||||||
|
"emojiTooLong":"Aquesta cadena ha de tenir com a màxim {0} emojis!",
|
||||||
|
"emojiCustom":"Aquest emoji no pot ser un emoji personalitzat de discord!",
|
||||||
|
"emojiInvalid":"Aquest és un emoji invàlid!",
|
||||||
|
"urlInvalid":"Aquesta url és invàlida!",
|
||||||
|
"urlInvalidHttp":"Aquesta url només pot utilitzar el protocol https://!",
|
||||||
|
"urlInvalidProtocol":"Aquesta url només pot utilitzar els protocols http:// i https://!",
|
||||||
|
"urlInvalidHostname":"Aquesta url té un nom de domini no permès!",
|
||||||
|
"urlInvalidExtension":"Aquesta url té una extensió invàlida! Tria entre: {0}!",
|
||||||
|
"urlInvalidPath":"Aquesta url té un camí invàlid!",
|
||||||
|
"idNotUnique":"Aquest id no és únic, utilitza un altre id!",
|
||||||
|
"idNonExistent":"L'id {0} no existeix!",
|
||||||
|
|
||||||
|
"invalidType":"Aquesta propietat ha de ser del tipus: {0}!",
|
||||||
|
"propertyMissing":"La propietat {0} falta en aquest objecte!",
|
||||||
|
"propertyOptional":"La propietat {0} és opcional en aquest objecte!",
|
||||||
|
"objectDisabled":"Aquest objecte està desactivat, activa'l utilitzant {0}!",
|
||||||
|
"nullInvalid":"Aquesta propietat no pot ser nul·la!",
|
||||||
|
"switchInvalidType":"Això ha de ser d'un dels tipus següents: {0}!",
|
||||||
|
"objectSwitchInvalid":"Aquest objecte ha de ser d'un dels tipus següents: {0}!",
|
||||||
|
|
||||||
|
"invalidLanguage":"Aquest és un idioma invàlid!",
|
||||||
|
"invalidButton":"Aquest botó ha de tenir almenys un {0} o {1}!",
|
||||||
|
"unusedOption":"L'opció {0} no s'utilitza enlloc!",
|
||||||
|
"unusedQuestion":"La pregunta {0} no s'utilitza enlloc!",
|
||||||
|
"dropdownOption":"Un panell amb desplegable activat només pot contenir opcions del tipus 'ticket'!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"actions":{
|
||||||
|
"buttons":{
|
||||||
|
"create":"Visitar Ticket",
|
||||||
|
"close":"Tancar Ticket",
|
||||||
|
"delete":"Eliminar Ticket",
|
||||||
|
"reopen":"Reobrir Ticket",
|
||||||
|
"claim":"Reclamar Ticket",
|
||||||
|
"unclaim":"Alliberar Ticket",
|
||||||
|
"pin":"Fixar Ticket",
|
||||||
|
"unpin":"Desfixar Ticket",
|
||||||
|
"clear":"Eliminar Tickets",
|
||||||
|
"helpSwitchSlash":"Veure Comandes Slash",
|
||||||
|
"helpSwitchText":"Veure Comandes de Text",
|
||||||
|
"helpPage":"Pàgina {0}",
|
||||||
|
"withReason":"Amb Motiu",
|
||||||
|
"withoutTranscript":"Sense Transcripció"
|
||||||
|
},
|
||||||
|
"titles":{
|
||||||
|
"created":"Ticket Creat",
|
||||||
|
"close":"Ticket Tancat",
|
||||||
|
"delete":"Ticket Eliminat",
|
||||||
|
"reopen":"Ticket Reobert",
|
||||||
|
"claim":"Ticket Reclamat",
|
||||||
|
"unclaim":"Ticket Alliberat",
|
||||||
|
"pin":"Ticket Fixat",
|
||||||
|
"unpin":"Ticket Desfixat",
|
||||||
|
"rename":"Ticket Renomenat",
|
||||||
|
"move":"Ticket Mogut",
|
||||||
|
"add":"Usuari Afegit al Ticket",
|
||||||
|
"remove":"Usuari Eliminat del Ticket",
|
||||||
|
|
||||||
|
"help":"Comandes Disponibles",
|
||||||
|
"statsReset":"Restablir Estadístiques",
|
||||||
|
"blacklistAdd":"Usuari a la Llista Negra",
|
||||||
|
"blacklistRemove":"Usuari Alliberat",
|
||||||
|
"blacklistGet":"Usuari a la Llista Negra",
|
||||||
|
"blacklistView":"Llista Negra Actual",
|
||||||
|
"blacklistAddDm":"Afegit a la Llista Negra",
|
||||||
|
"blacklistRemoveDm":"Eliminat de la Llista Negra",
|
||||||
|
"clear":"Tickets Netejats",
|
||||||
|
"roles":"Rols Actualitzats",
|
||||||
|
|
||||||
|
"autoclose":"Ticket Tancat Automàticament",
|
||||||
|
"autocloseEnabled":"Tancament Automàtic Activat",
|
||||||
|
"autocloseDisabled":"Tancament Automàtic Desactivat",
|
||||||
|
"autodelete":"Ticket Eliminat Automàticament",
|
||||||
|
"autodeleteEnabled":"Eliminació Automàtica Activada",
|
||||||
|
"autodeleteDisabled":"Eliminació Automàtica Desactivada"
|
||||||
|
},
|
||||||
|
"descriptions":{
|
||||||
|
"create":"El teu ticket ha estat creat. Fes clic al botó a continuació per accedir-hi!",
|
||||||
|
"close":"El ticket ha estat tancat amb èxit!",
|
||||||
|
"delete":"El ticket ha estat eliminat amb èxit!",
|
||||||
|
"reopen":"El ticket ha estat reobert amb èxit!",
|
||||||
|
"claim":"El ticket ha estat reclamat amb èxit!",
|
||||||
|
"unclaim":"El ticket ha estat alliberat amb èxit!",
|
||||||
|
"pin":"El ticket ha estat fixat amb èxit!",
|
||||||
|
"unpin":"El ticket ha estat desfixat amb èxit!",
|
||||||
|
"rename":"El ticket ha estat renomenat a {0} amb èxit!",
|
||||||
|
"move":"El ticket ha estat mogut a {0} amb èxit!",
|
||||||
|
"add":"{0} ha estat afegit al ticket amb èxit!",
|
||||||
|
"remove":"{0} ha estat eliminat del ticket amb èxit!",
|
||||||
|
|
||||||
|
"helpExplanation":"`<nom>` => paràmetre requerit\n`[nom]` => paràmetre opcional",
|
||||||
|
"statsReset":"Les estadístiques del bot s'han restablert correctament!",
|
||||||
|
"statsError":"No es poden veure les estadístiques del ticket!\n{0} no és un ticket!",
|
||||||
|
"blacklistAdd":"{0} ha estat afegit a la llista negra amb èxit!",
|
||||||
|
"blacklistRemove":"{0} ha estat alliberat amb èxit!",
|
||||||
|
"blacklistGetSuccess":"{0} està actualment a la llista negra!",
|
||||||
|
"blacklistGetEmpty":"{0} actualment no està a la llista negra!",
|
||||||
|
"blacklistViewEmpty":"Encara no hi ha ningú a la llista negra!",
|
||||||
|
"blacklistViewTip":"Utilitza \"/blacklist add\" per afegir un usuari a la llista negra!",
|
||||||
|
"clearVerify":"Estàs segur que vols eliminar múltiples tickets?\nAquesta acció no es pot desfer!",
|
||||||
|
"clearReady":"{0} tickets han estat eliminats amb èxit!",
|
||||||
|
"rolesEmpty":"No s'han actualitzat rols!",
|
||||||
|
|
||||||
|
"autocloseLeave":"Aquest ticket ha estat tancat automàticament perquè el creador ha abandonat el servidor!",
|
||||||
|
"autocloseTimeout":"Aquest ticket ha estat tancat automàticament perquè ha estat inactiu durant més de `{0}h`!",
|
||||||
|
"autodeleteLeave":"Aquest ticket ha estat eliminat automàticament perquè el creador ha abandonat el servidor!",
|
||||||
|
"autodeleteTimeout":"Aquest ticket ha estat eliminat automàticament perquè ha estat inactiu durant més de `{0} dies`!",
|
||||||
|
"autocloseEnabled":"El tancament automàtic ha estat activat en aquest ticket!\nEs tancarà quan estigui inactiu durant més de `{0}h`!",
|
||||||
|
"autocloseDisabled":"El tancament automàtic ha estat desactivat en aquest ticket!\nJa no es tancarà automàticament!",
|
||||||
|
"autodeleteEnabled":"L'eliminació automàtica ha estat activada en aquest ticket!\nS'eliminarà quan estigui inactiu durant més de `{0} dies`!",
|
||||||
|
"autodeleteDisabled":"L'eliminació automàtica ha estat desactivada en aquest ticket!\nJa no s'eliminarà automàticament!",
|
||||||
|
|
||||||
|
"ticketMessageLimit":"Només pots crear {0} ticket(s) al mateix temps!",
|
||||||
|
"ticketMessageAutoclose":"Aquest ticket es tancarà automàticament quan estigui inactiu durant {0}h!",
|
||||||
|
"ticketMessageAutodelete":"Aquest ticket es eliminarà automàticament quan estigui inactiu durant {0} dies!",
|
||||||
|
"panelReady":"Pots trobar el panell a continuació!\nAquest missatge ara es pot eliminar!"
|
||||||
|
},
|
||||||
|
"modal":{
|
||||||
|
"closePlaceholder":"Per què has tancat aquest ticket?",
|
||||||
|
"deletePlaceholder":"Per què has eliminat aquest ticket?",
|
||||||
|
"reopenPlaceholder":"Per què has reobert aquest ticket?",
|
||||||
|
"claimPlaceholder":"Per què has reclamat aquest ticket?",
|
||||||
|
"unclaimPlaceholder":"Per què has alliberat aquest ticket?",
|
||||||
|
"pinPlaceholder":"Per què has fixat aquest ticket?",
|
||||||
|
"unpinPlaceholder":"Per què has desfixat aquest ticket?"
|
||||||
|
},
|
||||||
|
"logs":{
|
||||||
|
"createLog":"Un nou ticket ha estat creat per {0}!",
|
||||||
|
"closeLog":"Aquest ticket ha estat tancat per {0}!",
|
||||||
|
"closeDm":"El teu ticket ha estat tancat al nostre servidor!",
|
||||||
|
"deleteLog":"Aquest ticket ha estat eliminat per {0}!",
|
||||||
|
"deleteDm":"El teu ticket ha estat eliminat al nostre servidor!",
|
||||||
|
"reopenLog":"Aquest ticket ha estat reobert per {0}!",
|
||||||
|
"reopenDm":"El teu ticket ha estat reobert al nostre servidor!",
|
||||||
|
"claimLog":"Aquest ticket ha estat reclamat per {0}!",
|
||||||
|
"claimDm":"El teu ticket ha estat reclamat al nostre servidor!",
|
||||||
|
"unclaimLog":"Aquest ticket ha estat alliberat per {0}!",
|
||||||
|
"unclaimDm":"El teu ticket ha estat alliberat al nostre servidor!",
|
||||||
|
"pinLog":"Aquest ticket ha estat fixat per {0}!",
|
||||||
|
"pinDm":"El teu ticket ha estat fixat al nostre servidor!",
|
||||||
|
"unpinLog":"Aquest ticket ha estat desfixat per {0}!",
|
||||||
|
"unpinDm":"El teu ticket ha estat desfixat al nostre servidor!",
|
||||||
|
"renameLog":"Aquest ticket ha estat renomenat a {0} per {1}!",
|
||||||
|
"renameDm":"El teu ticket ha estat renomenat a {0} al nostre servidor!",
|
||||||
|
"moveLog":"Aquest ticket ha estat mogut a {0} per {1}!",
|
||||||
|
"moveDm":"El teu ticket ha estat mogut a {0} al nostre servidor!",
|
||||||
|
"addLog":"{0} ha estat afegit a aquest ticket per {1}!",
|
||||||
|
"addDm":"{0} ha estat afegit al teu ticket al nostre servidor!",
|
||||||
|
"removeLog":"{0} ha estat eliminat d'aquest ticket per {1}!",
|
||||||
|
"removeDm":"{0} ha estat eliminat del teu ticket al nostre servidor!",
|
||||||
|
|
||||||
|
"blacklistAddLog":"{0} ha estat afegit a la llista negra per {1}!",
|
||||||
|
"blacklistRemoveLog":"{0} ha estat eliminat de la llista negra per {1}!",
|
||||||
|
"blacklistAddDm":"Has estat afegit a la llista negra al nostre servidor!\nA partir d'ara, no pots crear cap ticket!",
|
||||||
|
"blacklistRemoveDm":"Has estat eliminat de la llista negra al nostre servidor!\nAra pots crear tickets de nou!",
|
||||||
|
"clearLog":"{0} tickets han estat eliminats per {1}!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"transcripts":{
|
||||||
|
"success":{
|
||||||
|
"visit":"Visitar Transcripció",
|
||||||
|
"ready":"Transcripció Creada",
|
||||||
|
"textFileDescription":"Aquesta és la transcripció de text d'un ticket eliminat!",
|
||||||
|
"htmlProgress":"Si us plau, espera mentre aquesta transcripció html es processa...",
|
||||||
|
|
||||||
|
"createdChannel":"S'ha creat una nova transcripció tipus {0} al servidor!",
|
||||||
|
"createdCreator":"S'ha creat una nova transcripció tipus {0} per un dels teus tickets!",
|
||||||
|
"createdParticipant":"S'ha creat una nova transcripció tipus {0} en un dels tickets on has participat!",
|
||||||
|
"createdActiveAdmin":"S'ha creat una nova transcripció tipus {0} en un dels tickets on has participat com a administrador!",
|
||||||
|
"createdEveryAdmin":"S'ha creat una nova transcripció tipus {0} en un dels tickets on eres administrador!",
|
||||||
|
"createdOther":"S'ha creat una nova transcripció tipus {0}!"
|
||||||
|
},
|
||||||
|
"errors":{
|
||||||
|
"retry":"Torna-ho a intentar",
|
||||||
|
"continue":"Elimina Sense Transcripció",
|
||||||
|
"backup":"Crea Transcripció de Backup",
|
||||||
|
"error":"Alguna cosa ha anat malament mentre intentàvem crear la transcripció.\nQuè t'agradaria fer?\n\nAquest ticket no s'eliminarà fins que facis clic en un d'aquests botons."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"errors":{
|
||||||
|
"titles":{
|
||||||
|
"internalError":"Error Intern",
|
||||||
|
"optionMissing":"Opció de Comanda Absent",
|
||||||
|
"optionInvalid":"Opció de Comanda Invàlida",
|
||||||
|
"unknownCommand":"Comanda Desconeguda",
|
||||||
|
"noPermissions":"No Tens Permisos",
|
||||||
|
"unknownTicket":"Ticket Desconegut",
|
||||||
|
"deprecatedTicket":"Ticket Obsolet",
|
||||||
|
"unknownOption":"Opció Desconeguda",
|
||||||
|
"unknownPanel":"Panell Desconegut",
|
||||||
|
"notInGuild":"No Ets Al Servidor",
|
||||||
|
"channelRename":"No Es Pot Canviar El Nom Del Canal",
|
||||||
|
"busy":"El Ticket Està Ocupat"
|
||||||
|
},
|
||||||
|
"descriptions":{
|
||||||
|
"askForInfo":"Contacta amb el propietari d'aquest bot per obtenir més informació!",
|
||||||
|
"askForInfoResolve":"Contacta amb el propietari del bot si aquest problema no es resol després de diversos intents.",
|
||||||
|
"internalError":"No s'ha pogut respondre a aquest {0} a causa d'un error intern!",
|
||||||
|
"optionMissing":"Falta un paràmetre requerit en aquesta comanda!",
|
||||||
|
"optionInvalid":"Un paràmetre d'aquesta comanda és invàlid!",
|
||||||
|
"optionInvalidChoose":"Tria entre",
|
||||||
|
"unknownCommand":"Prova de visitar el menú d'ajuda per obtenir més informació!",
|
||||||
|
"noPermissions":"No tens permís per utilitzar aquest {0}!",
|
||||||
|
"noPermissionsList":"Permisos Requerits: (un d'ells)",
|
||||||
|
"noPermissionsCooldown":"No tens permís per utilitzar aquest {0} perquè tens un temps de refredament!",
|
||||||
|
"noPermissionsBlacklist":"No tens permís per utilitzar aquest {0} perquè estàs a la llista negra!",
|
||||||
|
"noPermissionsLimitGlobal":"No tens permís per crear un ticket perquè el servidor ha arribat al límit màxim de tickets!",
|
||||||
|
"noPermissionsLimitGlobalUser":"No tens permís per crear un ticket perquè has arribat al límit màxim de tickets!",
|
||||||
|
"noPermissionsLimitOption":"No tens permís per crear un ticket perquè el servidor ha arribat al límit màxim de tickets per aquesta opció!",
|
||||||
|
"noPermissionsLimitOptionUser":"No tens permís per crear un ticket perquè has arribat al límit màxim de tickets per aquesta opció!",
|
||||||
|
"unknownTicket":"Torna a intentar aquesta comanda en un ticket vàlid!",
|
||||||
|
"deprecatedTicket":"El canal actual no és un ticket vàlid! Pot ser que fos un ticket d'una versió antiga de Open Ticket!",
|
||||||
|
"notInGuild":"Aquest {0} no funciona en DM! Si us plau, torna a intentar-ho en un servidor!",
|
||||||
|
"channelRename":"Degut a les limitacions de discord, actualment és impossible per al bot canviar el nom del canal. El canal es canviarà automàticament en 10 minuts si el bot no es reinicia.",
|
||||||
|
"channelRenameSource":"La font d'aquest error és: {0}",
|
||||||
|
"busy":"No es pot utilitzar aquest {0}!\nEl ticket està sent processat pel bot.\n\nSi us plau, torna a intentar-ho en uns segons!"
|
||||||
|
},
|
||||||
|
"optionInvalidReasons":{
|
||||||
|
"stringRegex":"El valor no coincideix amb el patró!",
|
||||||
|
"stringMinLength":"El valor ha de tenir almenys {0} caràcters!",
|
||||||
|
"stringMaxLength":"El valor ha de tenir com a màxim {0} caràcters!",
|
||||||
|
"numberInvalid":"Nombre invàlid!",
|
||||||
|
"numberMin":"El nombre ha de ser almenys {0}!",
|
||||||
|
"numberMax":"El nombre ha de ser com a màxim {0}!",
|
||||||
|
"numberDecimal":"El nombre no pot ser decimal!",
|
||||||
|
"numberNegative":"El nombre no pot ser negatiu!",
|
||||||
|
"numberPositive":"El nombre no pot ser positiu!",
|
||||||
|
"numberZero":"El nombre no pot ser zero!",
|
||||||
|
"channelNotFound":"No es pot trobar el canal!",
|
||||||
|
"userNotFound":"No es pot trobar l'usuari!",
|
||||||
|
"roleNotFound":"No es pot trobar el rol!",
|
||||||
|
"memberNotFound":"No es pot trobar l'usuari!",
|
||||||
|
"mentionableNotFound":"No es pot trobar l'usuari o el rol!",
|
||||||
|
"channelType":"Tipus de canal invàlid!",
|
||||||
|
"notInGuild":"Aquesta opció requereix que siguis en un servidor!"
|
||||||
|
},
|
||||||
|
"permissions":{
|
||||||
|
"developer":"Has de ser el desenvolupador del bot.",
|
||||||
|
"owner":"Has de ser el propietari del servidor.",
|
||||||
|
"admin":"Has de ser un administrador del servidor.",
|
||||||
|
"moderator":"Has de ser un moderador.",
|
||||||
|
"support":"Has de formar part de l'equip de suport.",
|
||||||
|
"member":"Has de ser un membre.",
|
||||||
|
"discord-administrator":"Has de tenir el permís `ADMINISTRADOR`."
|
||||||
|
},
|
||||||
|
"actionInvalid":{
|
||||||
|
"close":"El ticket ja està tancat!",
|
||||||
|
"reopen":"El ticket encara no està tancat!",
|
||||||
|
"claim":"El ticket ja està reclamat!",
|
||||||
|
"unclaim":"El ticket encara no està reclamat!",
|
||||||
|
"pin":"El ticket ja està fixat!",
|
||||||
|
"unpin":"El ticket encara no està fixat!",
|
||||||
|
"add":"Aquest usuari ja té accés al ticket!",
|
||||||
|
"remove":"No es pot eliminar aquest usuari del ticket!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"params":{
|
||||||
|
"uppercase":{
|
||||||
|
"ticket":"Ticket",
|
||||||
|
"tickets":"Tickets",
|
||||||
|
"reason":"Motiu",
|
||||||
|
"creator":"Creador",
|
||||||
|
"remaining":"Temps Restant",
|
||||||
|
"added":"Afegit",
|
||||||
|
"removed":"Eliminat",
|
||||||
|
"filter":"Filtre",
|
||||||
|
"claimedBy":"Reclamat Per {0}",
|
||||||
|
"method":"Mètode",
|
||||||
|
"type":"Tipus",
|
||||||
|
"blacklisted":"Llista Negra",
|
||||||
|
"panel":"Panell",
|
||||||
|
"command":"Comanda",
|
||||||
|
"system":"Sistema",
|
||||||
|
"true":"Cert",
|
||||||
|
"false":"Fals",
|
||||||
|
"syntax":"Sintaxi",
|
||||||
|
"originalName":"Nom Original",
|
||||||
|
"newName":"Nom Nou",
|
||||||
|
"until":"Fins a",
|
||||||
|
"validOptions":"Opcions Vàlides",
|
||||||
|
"validPanels":"Panells Vàlids",
|
||||||
|
"autoclose":"Tancament Automàtic",
|
||||||
|
"autodelete":"Eliminació Automàtica",
|
||||||
|
"startupDate":"Data d'Inici",
|
||||||
|
"version":"Versió",
|
||||||
|
"name":"Nom",
|
||||||
|
"role":"Rol",
|
||||||
|
"status":"Estat",
|
||||||
|
"claimed":"Reclamat",
|
||||||
|
"pinned":"Fixat",
|
||||||
|
"creationDate":"Data de Creació"
|
||||||
|
},
|
||||||
|
"lowercase":{
|
||||||
|
"text":"text",
|
||||||
|
"html":"html",
|
||||||
|
"command":"comanda",
|
||||||
|
"modal":"modal",
|
||||||
|
"button":"botó",
|
||||||
|
"dropdown":"desplegable",
|
||||||
|
"method":"mètode"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commands":{
|
||||||
|
"reason":"Especifica una raó opcional que serà visible als registres.",
|
||||||
|
"help":"Obtingues una llista de totes les comandes disponibles.",
|
||||||
|
"panel":"Genera un missatge amb un desplegable o botons (per a la creació de tickets).",
|
||||||
|
"panelId":"L'identificador del panell que vols generar.",
|
||||||
|
"panelAutoUpdate":"Vols que aquest panell s'actualitzi automàticament quan s'edita?",
|
||||||
|
"ticket":"Crea instantàniament un ticket.",
|
||||||
|
"ticketId":"L'identificador del ticket que vols crear.",
|
||||||
|
"close":"Tanca un ticket.",
|
||||||
|
"delete":"Elimina un ticket.",
|
||||||
|
"deleteNoTranscript":"Elimina aquest ticket sense crear una transcripció.",
|
||||||
|
"reopen":"Reobre un ticket.",
|
||||||
|
"claim":"Reclama un ticket.",
|
||||||
|
"claimUser":"Reclama aquest ticket per a una altra persona en lloc de tu mateix.",
|
||||||
|
"unclaim":"Allibera un ticket.",
|
||||||
|
"pin":"Fixa un ticket.",
|
||||||
|
"unpin":"Desfixa un ticket.",
|
||||||
|
"move":"Mou un ticket.",
|
||||||
|
"moveId":"L'identificador de l'opció a la qual vols moure't.",
|
||||||
|
"rename":"Renomena un ticket.",
|
||||||
|
"renameName":"El nou nom per aquest ticket.",
|
||||||
|
"add":"Afegeix un usuari a un ticket.",
|
||||||
|
"addUser":"L'usuari a afegir.",
|
||||||
|
"remove":"Elimina un usuari d'un ticket.",
|
||||||
|
"removeUser":"L'usuari a eliminar.",
|
||||||
|
"blacklist":"Gestiona la llista negra de tickets.",
|
||||||
|
"blacklistView":"Veure una llista de l'actual llista negra.",
|
||||||
|
"blacklistAdd":"Afegeix un usuari a la llista negra.",
|
||||||
|
"blacklistRemove":"Elimina un usuari de la llista negra.",
|
||||||
|
"blacklistGet":"Obtingues els detalls d'un usuari a la llista negra.",
|
||||||
|
"blacklistGetUser":"L'usuari dels qual vols obtenir detalls.",
|
||||||
|
"stats":"Veure estadístiques del bot, d'un membre o d'un ticket.",
|
||||||
|
"statsReset":"Restablir totes les estadístiques del bot (i començar a comptar des de zero).",
|
||||||
|
"statsGlobal":"Veure les estadístiques globals.",
|
||||||
|
"statsUser":"Veure les estadístiques d'un usuari al servidor.",
|
||||||
|
"statsUserUser":"L'usuari del qual vols veure les estadístiques.",
|
||||||
|
"statsTicket":"Veure les estadístiques d'un ticket al servidor.",
|
||||||
|
"statsTicketTicket":"El ticket que vols veure.",
|
||||||
|
"clear":"Elimina múltiples tickets al mateix temps.",
|
||||||
|
"clearFilter":"El filtre per a la neteja de tickets.",
|
||||||
|
"clearFilters":{
|
||||||
|
"all":"Tots",
|
||||||
|
"open":"Oberts",
|
||||||
|
"close":"Tancats",
|
||||||
|
"claim":"Reclamats",
|
||||||
|
"unclaim":"Alliberats",
|
||||||
|
"pin":"Fixats",
|
||||||
|
"unpin":"Desfixats",
|
||||||
|
"autoclose":"Tancat Automàticaments"
|
||||||
|
},
|
||||||
|
"autoclose":"Gestiona el tancament automàtic en un ticket.",
|
||||||
|
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
||||||
|
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
||||||
|
"autocloseEnableTime":"La quantitat d'hores que aquest ticket ha d'estar inactiu per tancar-lo.",
|
||||||
|
"autodelete":"Gestiona l'eliminació automàtica en un ticket.",
|
||||||
|
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
||||||
|
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket.",
|
||||||
|
"autodeleteEnableTime":"La quantitat de dies que aquest ticket ha d'estar inactiu per eliminar-lo."
|
||||||
|
},
|
||||||
|
"helpMenu":{
|
||||||
|
"help":"Obtingues una llista de totes les comandes disponibles.",
|
||||||
|
"ticket":"Crea instantàniament un ticket.",
|
||||||
|
"close":"Tanca un ticket, això desactiva l'escriptura en aquest canal.",
|
||||||
|
"delete":"Elimina un ticket, això crea una transcripció quan està activat.",
|
||||||
|
"reopen":"Reobre un ticket, això permet escriure de nou en aquest canal.",
|
||||||
|
"pin":"Fixar un ticket. Això mou el ticket a la part superior i afegeix un emoji '📌' al nom.",
|
||||||
|
"unpin":"Desfixar un ticket. El ticket romandrà a la seva posició però perdrà l'emoji '📌'.",
|
||||||
|
"move":"Mou un ticket. Això canvia el tipus d'aquest ticket.",
|
||||||
|
"rename":"Renomena un ticket. Això canvia el nom del canal d'aquest ticket.",
|
||||||
|
"claim":"Reclama un ticket. Amb això, pots fer saber al teu equip que estàs gestionant aquest ticket.",
|
||||||
|
"unclaim":"Allibera un ticket. Amb això, pots fer saber al teu equip que aquest ticket està lliure de nou.",
|
||||||
|
"add":"Afegeix un usuari a un ticket. Això permetrà a l'usuari llegir i escriure en aquest ticket.",
|
||||||
|
"remove":"Elimina un usuari d'un ticket. Això eliminarà la capacitat de llegir i escriure per a un usuari en aquest ticket.",
|
||||||
|
"panel":"Genera un missatge amb un desplegable o botons (per a la creació de tickets).",
|
||||||
|
"blacklistView":"Veure una la llista negra actual.",
|
||||||
|
"blacklistAdd":"Afegeix un usuari a la llista negra.",
|
||||||
|
"blacklistRemove":"Elimina un usuari de la llista negra.",
|
||||||
|
"blacklistGet":"Obtingues els detalls d'un usuari de la llista negra.",
|
||||||
|
"statsGlobal":"Veure les estadístiques globals.",
|
||||||
|
"statsTicket":"Veure les estadístiques d'un ticket al servidor.",
|
||||||
|
"statsUser":"Veure les estadístiques d'un usuari al servidor.",
|
||||||
|
"statsReset":"Restablir totes les estadístiques del bot (i començar a comptar des de zero).",
|
||||||
|
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
||||||
|
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
||||||
|
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
||||||
|
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket."
|
||||||
|
},
|
||||||
|
"stats":{
|
||||||
|
"scopes":{
|
||||||
|
"global":"Estadístiques Globals",
|
||||||
|
"system":"Estadístiques del Sistema",
|
||||||
|
"user":"Estadístiques d'Usuari",
|
||||||
|
"ticket":"Estadístiques de Ticket",
|
||||||
|
"participants":"Participants"
|
||||||
|
},
|
||||||
|
"properties":{
|
||||||
|
"ticketsCreated":"Tickets Creats",
|
||||||
|
"ticketsClosed":"Tickets Tancats",
|
||||||
|
"ticketsDeleted":"Tickets Eliminats",
|
||||||
|
"ticketsReopened":"Tickets Reoberts",
|
||||||
|
"ticketsAutoclosed":"Tickets Tancats Automàticament",
|
||||||
|
"ticketsClaimed":"Tickets Reclamats",
|
||||||
|
"ticketsPinned":"Tickets Fixats",
|
||||||
|
"ticketsMoved":"Tickets Moguts",
|
||||||
|
"usersBlacklisted":"Usuaris a la Llista Negra",
|
||||||
|
"transcriptsCreated":"Transcripcions Creades"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -203,7 +203,7 @@ const errorEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("errors.titles.noPermissions")))
|
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("errors.titles.noPermissions")))
|
||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setDescription(lang.getTranslation("errors.descriptions.noPermissionsBlacklist"))
|
instance.setDescription(lang.getTranslationWithParams("errors.descriptions.noPermissionsBlacklist",[method]))
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -834,7 +834,7 @@ const ticketEmbeds = () => {
|
|||||||
//TODO TRANSLATION!!!
|
//TODO TRANSLATION!!!
|
||||||
{name:"Option"+":",value:"```"+(ticket.option.get("openticket:name").value)+"```",inline:false},
|
{name:"Option"+":",value:"```"+(ticket.option.get("openticket:name").value)+"```",inline:false},
|
||||||
)
|
)
|
||||||
if (reason) instance.addFields({name:"Reason:",value:"```"+reason+"```",inline:false})
|
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```",inline:false})
|
||||||
|
|
||||||
if (mode == "close"){
|
if (mode == "close"){
|
||||||
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ const verifyBarMessages = () => {
|
|||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
||||||
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:"Without Transcript",customColor:"red"}))
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -130,7 +130,7 @@ const verifyBarMessages = () => {
|
|||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
||||||
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:"Without Transcript",customColor:"red"}))
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -166,7 +166,7 @@ const verifyBarMessages = () => {
|
|||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
||||||
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:"Without Transcript",customColor:"red"}))
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -319,7 +319,7 @@ const verifyBarMessages = () => {
|
|||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
||||||
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
||||||
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:"Without Transcript",customColor:"red"}))
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ export const registerCommandResponders = async () => {
|
|||||||
//return when user already added to ticket
|
//return when user already added to ticket
|
||||||
const participants = await openticket.tickets.getAllTicketParticipants(ticket)
|
const participants = await openticket.tickets.getAllTicketParticipants(ticket)
|
||||||
if (!participants || participants.find((p) => p.user.id == data.id)){
|
if (!participants || participants.find((p) => p.user.id == data.id)){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"This user is already able to access the ticket!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.add"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("openticket:closed").value){
|
if (ticket.get("openticket:closed").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is already closed!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when already claimed
|
//return when already claimed
|
||||||
if (ticket.get("openticket:claimed").value){
|
if (ticket.get("openticket:claimed").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is already claimed!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.claim"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("openticket:closed").value){
|
if (ticket.get("openticket:closed").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is already closed!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export const registerCommandResponders = async () => {
|
|||||||
const option = openticket.options.get(id)
|
const option = openticket.options.get(id)
|
||||||
//return if unknown option
|
//return if unknown option
|
||||||
if (!option || !(option instanceof api.ODTicketOption)){
|
if (!option || !(option instanceof api.ODTicketOption)){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Unknown Option",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.titles.unknownOption"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return if option is the same
|
//return if option is the same
|
||||||
|
|||||||
+1
-1
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when already pinned
|
//return when already pinned
|
||||||
if (ticket.get("openticket:pinned").value){
|
if (ticket.get("openticket:pinned").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is already pinned!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.pin"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export const registerCommandResponders = async () => {
|
|||||||
//return when user is not a participant of the ticket (admins & creator can't be removed)
|
//return when user is not a participant of the ticket (admins & creator can't be removed)
|
||||||
const participants = await openticket.tickets.getAllTicketParticipants(ticket)
|
const participants = await openticket.tickets.getAllTicketParticipants(ticket)
|
||||||
if (!participants || !participants.find((p) => p.user.id == data.id && p.role == "participant")){
|
if (!participants || !participants.find((p) => p.user.id == data.id && p.role == "participant")){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Unable to remove this user from the ticket!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.remove"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when not closed
|
//return when not closed
|
||||||
if (!ticket.get("openticket:closed").value){
|
if (!ticket.get("openticket:closed").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is not closed yet!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.reopen"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when not claimed
|
//return when not claimed
|
||||||
if (!ticket.get("openticket:claimed").value){
|
if (!ticket.get("openticket:claimed").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is not claimed yet!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.unclaim"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
//return when not pinned yet
|
//return when not pinned yet
|
||||||
if (!ticket.get("openticket:pinned").value){
|
if (!ticket.get("openticket:pinned").value){
|
||||||
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:"Ticket is not pinned yet!",layout:"simple"}))
|
instance.reply(await openticket.builders.messages.getSafe("openticket:error").build("button",{guild,channel,user,error:openticket.languages.getTranslation("errors.actionInvalid.unpin"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
//return when busy
|
//return when busy
|
||||||
|
|||||||
@@ -450,6 +450,7 @@ export interface ODLanguageManagerIds_Default {
|
|||||||
"openticket:portuguese":ODLanguage,
|
"openticket:portuguese":ODLanguage,
|
||||||
"openticket:czech":ODLanguage,
|
"openticket:czech":ODLanguage,
|
||||||
"openticket:german":ODLanguage,
|
"openticket:german":ODLanguage,
|
||||||
|
"openticket:catalan":ODLanguage,
|
||||||
//ADD NEW LANGUAGES HERE!!!
|
//ADD NEW LANGUAGES HERE!!!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ export class ODDefaultsManager {
|
|||||||
languageLoading:true,
|
languageLoading:true,
|
||||||
languageSelection:true,
|
languageSelection:true,
|
||||||
backupLanguage:"openticket:english",
|
backupLanguage:"openticket:english",
|
||||||
languageList:["custom","english","dutch","portuguese","czech","german"],
|
languageList:["custom","english","dutch","portuguese","czech","german","catalan"],
|
||||||
|
|
||||||
checkerLoading:true,
|
checkerLoading:true,
|
||||||
checkerFunctionLoading:true,
|
checkerFunctionLoading:true,
|
||||||
|
|||||||
@@ -488,7 +488,7 @@ export const defaultTranscriptsStructure = new api.ODCheckerObjectStructure("ope
|
|||||||
{key:"includeFiles",optional:false,priority:0,checker:new api.ODCheckerBooleanStructure("openticket:transcripts-text-include-files",{})},
|
{key:"includeFiles",optional:false,priority:0,checker:new api.ODCheckerBooleanStructure("openticket:transcripts-text-include-files",{})},
|
||||||
{key:"includeBotMessages",optional:false,priority:0,checker:new api.ODCheckerBooleanStructure("openticket:transcripts-text-include-bots",{})},
|
{key:"includeBotMessages",optional:false,priority:0,checker:new api.ODCheckerBooleanStructure("openticket:transcripts-text-include-bots",{})},
|
||||||
|
|
||||||
{key:"fileMode",optional:false,priority:0,checker:new api.ODCheckerStringStructure("openticket:transcripts-text-file-mode",{choices:["custom","name","id"]})},
|
{key:"fileMode",optional:false,priority:0,checker:new api.ODCheckerStringStructure("openticket:transcripts-text-file-mode",{choices:["custom","channel-name","channel-id","user-name","user-id"]})},
|
||||||
{key:"customFileName",optional:false,priority:0,checker:new api.ODCheckerStringStructure("openticket:transcripts-file-name",{maxLength:512,regex:/^[^\.#%&{}\\<>*?/!'":@`|=]*$/})},
|
{key:"customFileName",optional:false,priority:0,checker:new api.ODCheckerStringStructure("openticket:transcripts-file-name",{maxLength:512,regex:/^[^\.#%&{}\\<>*?/!'":@`|=]*$/})},
|
||||||
]})},
|
]})},
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const loadAllLanguages = async () => {
|
|||||||
openticket.languages.add(new api.ODLanguage("openticket:portuguese","portuguese.json"))
|
openticket.languages.add(new api.ODLanguage("openticket:portuguese","portuguese.json"))
|
||||||
openticket.languages.add(new api.ODLanguage("openticket:czech","czech.json"))
|
openticket.languages.add(new api.ODLanguage("openticket:czech","czech.json"))
|
||||||
openticket.languages.add(new api.ODLanguage("openticket:german","german.json"))
|
openticket.languages.add(new api.ODLanguage("openticket:german","german.json"))
|
||||||
|
openticket.languages.add(new api.ODLanguage("openticket:catalan","catalan.json"))
|
||||||
|
|
||||||
/** How to add more languages?
|
/** How to add more languages?
|
||||||
* - Add the language to the list above
|
* - Add the language to the list above
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ export function describePanelOptions(mode:"fields"|"text", panel:api.ODPanel): {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
const autotitle = (hasTicket && ticketOnly) ? "Select your ticket:" : ((hasRole && roleOnly) ? "Select your role:" : "Select your option:")
|
const autotitle = (hasTicket && ticketOnly) ? "Select your ticket:" : ((hasRole && roleOnly) ? "Select your role:" : "Select your option:")
|
||||||
const title = (panel.get("openticket:describe-options-custom-title").value.length < 1) ? "__"+autotitle+"__\n" : "__"+panel.get("openticket:describe-options-custom-title").value+"__\n"
|
const title = (panel.get("openticket:describe-options-custom-title").value.length < 1) ? "__"+autotitle+"__\n" : "__"+panel.get("openticket:describe-options-custom-title").value+"__\n"
|
||||||
|
|
||||||
@@ -74,10 +75,13 @@ export function describePanelOptions(mode:"fields"|"text", panel:api.ODPanel): {
|
|||||||
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
||||||
|
|
||||||
if (layout == "normal" || layout == "detailed"){
|
if (layout == "normal" || layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:cooldown-enabled") && opt.get("openticket:cooldown-enabled").value) description = description + "\nCooldown: `"+opt.get("openticket:cooldown-minutes").value+" min`"
|
if (opt.exists("openticket:cooldown-enabled") && opt.get("openticket:cooldown-enabled").value) description = description + "\nCooldown: `"+opt.get("openticket:cooldown-minutes").value+" min`"
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:limits-enabled") && opt.get("openticket:limits-enabled").value) description = description + "\nMax Tickets: `"+opt.get("openticket:limits-maximum-user").value+"`"
|
if (opt.exists("openticket:limits-enabled") && opt.get("openticket:limits-enabled").value) description = description + "\nMax Tickets: `"+opt.get("openticket:limits-maximum-user").value+"`"
|
||||||
}
|
}
|
||||||
if (layout == "detailed"){
|
if (layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:admins")) description = description + "\nAdmins: "+opt.get("openticket:admins").value.map((admin) => discord.roleMention(admin)).join(", ")
|
if (opt.exists("openticket:admins")) description = description + "\nAdmins: "+opt.get("openticket:admins").value.map((admin) => discord.roleMention(admin)).join(", ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,6 +102,7 @@ export function describePanelOptions(mode:"fields"|"text", panel:api.ODPanel): {
|
|||||||
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
||||||
|
|
||||||
if (layout == "normal" || layout == "detailed"){
|
if (layout == "normal" || layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:roles")) description = description + "\nRoles: "+opt.get("openticket:roles").value.map((admin) => discord.roleMention(admin)).join(", ")
|
if (opt.exists("openticket:roles")) description = description + "\nRoles: "+opt.get("openticket:roles").value.map((admin) => discord.roleMention(admin)).join(", ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,10 +124,13 @@ export function describePanelOptions(mode:"fields"|"text", panel:api.ODPanel): {
|
|||||||
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
||||||
|
|
||||||
if (layout == "normal" || layout == "detailed"){
|
if (layout == "normal" || layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:cooldown-enabled") && opt.get("openticket:cooldown-enabled").value) description = description + "\nCooldown: `"+opt.get("openticket:cooldown-minutes").value+" min`"
|
if (opt.exists("openticket:cooldown-enabled") && opt.get("openticket:cooldown-enabled").value) description = description + "\nCooldown: `"+opt.get("openticket:cooldown-minutes").value+" min`"
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:limits-enabled") && opt.get("openticket:limits-enabled").value) description = description + "\nMax Tickets: `"+opt.get("openticket:limits-maximum-user").value+"`"
|
if (opt.exists("openticket:limits-enabled") && opt.get("openticket:limits-enabled").value) description = description + "\nMax Tickets: `"+opt.get("openticket:limits-maximum-user").value+"`"
|
||||||
}
|
}
|
||||||
if (layout == "detailed"){
|
if (layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:admins")) description = description + "\nAdmins: "+opt.get("openticket:admins").value.map((admin) => discord.roleMention(admin)).join(", ")
|
if (opt.exists("openticket:admins")) description = description + "\nAdmins: "+opt.get("openticket:admins").value.map((admin) => discord.roleMention(admin)).join(", ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,6 +153,7 @@ export function describePanelOptions(mode:"fields"|"text", panel:api.ODPanel): {
|
|||||||
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
let description = opt.exists("openticket:description") ? opt.get("openticket:description").value : "`<no-description>`"
|
||||||
|
|
||||||
if (layout == "normal" || layout == "detailed"){
|
if (layout == "normal" || layout == "detailed"){
|
||||||
|
//TODO TRANSLATION!!!
|
||||||
if (opt.exists("openticket:roles")) description = description + "\nRoles: "+opt.get("openticket:roles").value.map((admin) => discord.roleMention(admin)).join(", ")
|
if (opt.exists("openticket:roles")) description = description + "\nRoles: "+opt.get("openticket:roles").value.map((admin) => discord.roleMention(admin)).join(", ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user