Skip to content

Commit

Permalink
L10N update.
Browse files Browse the repository at this point in the history
Changelog excerpt:
- Added L10N for Bosnian, Catalan, Galician, Gujarati, Croatian, and
  Serbian.
  • Loading branch information
Maikuolan committed Mar 12, 2024
1 parent 87ff1a1 commit 35114b1
Show file tree
Hide file tree
Showing 8 changed files with 399 additions and 1 deletion.
2 changes: 2 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,5 @@ __*Why "v3.0.0" instead of "v1.0.0?"*__ Prior to phpMussel v3, the "phpMussel Co
[2023.12.01; Maikuolan]: Improved escaping. Added support for specifying a Redis database number to the supplementary cache options.

[2023.12.12; Security; Maikuolan]: Added a method to check whether a name is reserved, and applied it as a guard at the point where signature files are read in. Attempting to perform file operations on reserved names under Windows and some other operating systems could cause the underlying file system to attempt to communicate with a serial port instead of the intended file. PHP is likely to then wait indefinitely for a response it's unlikely to ever receive, thus locking up the process and preventing further requests unless the process is restarted. Although it's infinitesimally unlikely that a user would actually want to use a reserved name for one of their signature files, as the solution is exceedingly simple, with no particular performance impact, I've implemented it accordingly.

[2024.03.11; Maikuolan]: Added L10N for Bosnian, Catalan, Galician, Gujarati, Croatian, and Serbian.
14 changes: 13 additions & 1 deletion assets/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Configuration defaults file (last modified: 2023.12.01).
# This file: Configuration defaults file (last modified: 2024.03.11).
##/

core:
Expand Down Expand Up @@ -148,6 +148,8 @@ core:
ar: "العربية"
bg: "Български"
bn: "বাংলা"
bs: "Bosanski"
ca: "Català"
cs: "Čeština"
de: "Deutsch"
en: "English (AU/GB/NZ)"
Expand All @@ -156,8 +158,11 @@ core:
es: "Español"
fa: "فارسی"
fr: "Français"
gl: "Galego"
gu: "ગુજરાતી"
he: "עברית"
hi: "हिंदी"
hr: "Hrvatski"
id: "Bahasa Indonesia"
it: "Italiano"
ja: "日本語"
Expand All @@ -173,6 +178,7 @@ core:
ro: "Română"
ru: "Русский"
sv: "Svenska"
sr: "Српски"
ta: "தமிழ்"
th: "ภาษาไทย"
tr: "Türkçe"
Expand All @@ -190,14 +196,19 @@ core:
af: "af-ZA"
bg: "bg-BG"
bn: "bn-BD"
bs: "bs-BA"
ca: "ca-ES"
cs: "cs-CZ"
de: "de-DE"
en: "en-AU"
es: "es-ES"
fa: "fa-IR"
fr: "fr-FR"
gl: "gl-ES"
gu: "gu-IN"
he: "he-IL"
hi: "hi-IN"
hr: "hr-HR"
id: "id-ID"
it: "it-IT"
ja: "ja-JP"
Expand All @@ -214,6 +225,7 @@ core:
ro: "ro-RO"
ru: "ru-RU"
sv: "sv-SE"
sr: "sr-RS"
ta: "ta-IN"
th: "th-TH"
tr: "tr-TR"
Expand Down
64 changes: 64 additions & 0 deletions l10n/bs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
##\
# This file is a part of the phpMussel\Core package.
# Homepage: https://phpmussel.github.io/
#
# PHPMUSSEL COPYRIGHT 2013 AND BEYOND BY THE PHPMUSSEL TEAM.
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Bosnian language data (last modified: 2024.03.11).
##/

SafeBrowseLookup:
200: "Otkriven je potencijalno štetan URL"
400: "Greška API zahtjeva"
401: "Greška pri autorizaciji API-ja"
503: "API usluga nije dostupna"
999: "Nepoznata API greška"
error_log_header: "Ako se bilo koja od sljedećih grešaka nastavi, da biste ih prijavili ili zatražili podršku, kreirajte novi problem na stranici o pitanjima phpMussel-a na GitHub-u kad imaš slobodan trenutak, sa dotičnim greškama zajedno sa svim drugim relevantnim informacijama u prilogu. Hvala."
field:
Date: "Datum"
Hash signatures reconstruction: "Rekonstrukcija hash potpisa"
IP address: "IP adresa"
PE sectional signatures reconstruction: "Rekonstrukcija potpisa PE presjeka"
Scan results (why flagged): "Rezultati skeniranja (zašto označeni)"
label:
Generated by %s: "Generirao %s"
grammar_brackets: "%s (%s)"
grammar_exclamation_mark: "%s!"
grammar_fullstop: "%s."
grammar_spacer: " "
response:
%s chameleon attack detected: "Otkriven je %s kameleon napad"
%s does not exist: "%s ne postoji"
Checking %s: "Provjeravam "%s"."
Command injection attempt detected: "Otkriven je pokušaj ubrizgavanja komande"
Complete: "Završeno"
Data not available: "Podaci nisu dostupni."
Detected %s: "Otkriven %s"
Detected control characters: "Otkriveni kontrolni znakovi"
Detected corrupted PE: "Otkriven je oštećen PE"
Detected encrypted archive: "Otkrivena je šifrovana arhiva; Šifrovane arhive nisu dozvoljene"
Detected potentially dangerous file tampering: "Otkriveno je potencijalno opasno neovlašteno mijenjanje datoteka"
Error: "Greška"
Failed (missing required extensions): "Nije uspjelo (nedostaju potrebne ekstenzije)!"
Failed to access %s: "Pristup "%s" nije uspio!"
Filename manipulation detected: "Otkrivena je manipulacija imenom datoteke"
Filesize limit exceeded: "Ograničenje veličine datoteke je premašeno"
Filetype blacklisted: "Tip datoteke na crnoj listi"
Finished: "Završeno"
Image: "Slika"
Invalid data: "Nevažeći podaci!"
Invalid file: "Nevažeći fajl!"
Macros aren_t permitted: "Makroi nisu dozvoljeni"
Missing filename: "Nedostaje naziv datoteke"
No problems found: "Nisu pronađeni problemi."
Only image files are permitted: "Dozvoljene su samo datoteke sa slikama"
Quarantined as: "U karantinu kao "%s.qfu"."
Recursion depth limit exceeded: "Prekoračena je granica dubine rekurzije"
Signature file missing: "Nedostaje datoteke potpisa"
Started: "Poceo"
Task failed because a necessary component is unavailable: "Zadatak nije uspio jer neophodna komponenta nije dostupna."
Too many URLs: "Previše URL-ova"
Too many files in the archive: "Previše datoteka u arhivi"
64 changes: 64 additions & 0 deletions l10n/ca.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
##\
# This file is a part of the phpMussel\Core package.
# Homepage: https://phpmussel.github.io/
#
# PHPMUSSEL COPYRIGHT 2013 AND BEYOND BY THE PHPMUSSEL TEAM.
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Catalan language data (last modified: 2024.03.11).
##/

SafeBrowseLookup:
200: "Detectat un URL potencialment perjudicial"
400: "Error de sol·licitud de l'API"
401: "Error d'autorització de l'API"
503: "Servei d'API no disponible"
999: "Error desconegut de l'API"
error_log_header: "Si persisteix algun dels errors següents, per informar-los o per buscar assistència, creeu un issue nou a la pàgina de issues de phpMussel a GitHub quan tens un moment lliure, amb els errors en qüestió juntament amb qualsevol altra informació pertinent adjunta. Gràcies."
field:
Date: "Data"
Hash signatures reconstruction: "Reconstrucció de signatures hash"
IP address: "Adreça IP"
PE sectional signatures reconstruction: "Reconstrucció de signatures seccions PE"
Scan results (why flagged): "Resultats de l'escaneig (per què s'han marcat)"
label:
Generated by %s: "Generat per %s"
grammar_brackets: "%s (%s)"
grammar_exclamation_mark: "%s!"
grammar_fullstop: "%s."
grammar_spacer: " "
response:
%s chameleon attack detected: "Detectat un atac camaleònic %s"
%s does not exist: "%s no existeix"
Checking %s: "Comprovant "%s"."
Command injection attempt detected: "Detectat un intent d'injecció d'ordres"
Complete: "Completa"
Data not available: "Dades no disponibles."
Detected %s: "Detectat %s"
Detected control characters: "Detectat caràcters de control"
Detected corrupted PE: "Detectat un PE danyat"
Detected encrypted archive: "Detectat un arxiu xifrat; No es permeten arxius xifrats"
Detected potentially dangerous file tampering: "Detectat una manipulació de fitxers potencialment perillosa"
Error: "Error"
Failed (missing required extensions): "Fallat (falten les extensions necessàries)!"
Failed to access %s: "No s'ha pogut accedir a "%s"!"
Filename manipulation detected: "Detectat manipulació de noms de fitxer"
Filesize limit exceeded: "S'ha superat el límit de mida del fitxer"
Filetype blacklisted: "Tipus de fitxer a la llista negra"
Finished: "Acabat"
Image: "Imatge"
Invalid data: "Dades no vàlides!"
Invalid file: "Fitxer no vàlid!"
Macros aren_t permitted: "Macros no estan permeses"
Missing filename: "Falta el nom del fitxer"
No problems found: "No s'han trobat problemes."
Only image files are permitted: "Només es permeten fitxers d'imatge"
Quarantined as: "En quarantena com a "%s.qfu"."
Recursion depth limit exceeded: "S'ha superat el límit de profunditat de recursivitat"
Signature file missing: "Falta el fitxer de signatura"
Started: "Començat"
Task failed because a necessary component is unavailable: "La tasca ha fallat perquè un component necessari no està disponible."
Too many URLs: "Massa URL"
Too many files in the archive: "Massa fitxers a l'arxiu"
64 changes: 64 additions & 0 deletions l10n/gl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
##\
# This file is a part of the phpMussel\Core package.
# Homepage: https://phpmussel.github.io/
#
# PHPMUSSEL COPYRIGHT 2013 AND BEYOND BY THE PHPMUSSEL TEAM.
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Galician language data (last modified: 2024.03.11).
##/

SafeBrowseLookup:
200: "Detectouse un URL potencialmente prexudicial"
400: "Erro de solicitude da API"
401: "Erro de autorización da API"
503: "O servizo API non está dispoñible"
999: "Erro de API descoñecido"
error_log_header: "Se persiste algún dos seguintes erros, para denuncialos ou para buscar asistencia, cree un novo issue na páxina de issues de phpMussel en GitHub cando tes un momento libre, cos erros en cuestión xunto con calquera outra información pertinente que se adxunta. Grazas."
field:
Date: "Data"
Hash signatures reconstruction: "Reconstrución de sinaturas hash"
IP address: "Enderezo IP"
PE sectional signatures reconstruction: "Reconstrución de sinaturas seccionais PE"
Scan results (why flagged): "Resultados da escanear (por que se marcaron)"
label:
Generated by %s: "Xerado por %s"
grammar_brackets: "%s (%s)"
grammar_exclamation_mark: "%s!"
grammar_fullstop: "%s."
grammar_spacer: " "
response:
%s chameleon attack detected: "Ataque camaleón %s detectado"
%s does not exist: "%s non existe"
Checking %s: "Comprobando "%s"."
Command injection attempt detected: "Detectouse un intento de inxección de comandos"
Complete: "Completa"
Data not available: "Datos non dispoñibles."
Detected %s: "%s detectado"
Detected control characters: "Caracteres de control detectados"
Detected corrupted PE: "Detectouse un PE corrupto"
Detected encrypted archive: "Detectouse un arquivo cifrado; Non se permiten arquivos cifrados"
Detected potentially dangerous file tampering: "Detectouse unha manipulación de ficheiros potencialmente perigosa"
Error: "Erro"
Failed (missing required extensions): "Fallo (faltan as extensións necesarias)!"
Failed to access %s: "Non se puido acceder a "%s"!"
Filename manipulation detected: "Manipulación de nomes de ficheiro detectada"
Filesize limit exceeded: "Superouse o límite de tamaño do ficheiro"
Filetype blacklisted: "Tipo de ficheiro na lista negra"
Finished: "Rematou"
Image: "Imaxe"
Invalid data: "Datos non válidos!"
Invalid file: "Ficheiro non válido!"
Macros aren_t permitted: "Non se permiten macros"
Missing filename: "Falta o nome do ficheiro"
No problems found: "Non se atopou ningún problema."
Only image files are permitted: "Só se permiten ficheiros de imaxe"
Quarantined as: "En corentena como "%s.qfu"."
Recursion depth limit exceeded: "Superouse o límite de profundidade de recursión"
Signature file missing: "Falta o ficheiro de sinatura"
Started: "Comezou"
Task failed because a necessary component is unavailable: "Produciuse un erro porque un compoñente necesario non está dispoñible."
Too many URLs: "Demasiados URL"
Too many files in the archive: "Demasiados ficheiros no arquivo"
64 changes: 64 additions & 0 deletions l10n/gu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
##\
# This file is a part of the phpMussel\Core package.
# Homepage: https://phpmussel.github.io/
#
# PHPMUSSEL COPYRIGHT 2013 AND BEYOND BY THE PHPMUSSEL TEAM.
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Gujarati language data (last modified: 2024.03.11).
##/

SafeBrowseLookup:
200: "સંભવિત રીતે હાનિકારક URL મળ્યું"
400: "API વિનંતી ભૂલ"
401: "API અધિકૃતતા ભૂલ"
503: "API સેવા અનુપલબ્ધ છે"
999: "અજાણી API ભૂલ"
error_log_header: "જો નીચેની કોઈપણ ભૂલો ચાલુ રહે, તો તેની જાણ કરવા અથવા સમર્થન મેળવવા માટે, કૃપા કરીને જ્યારે તમારી પાસે ફાજલ ક્ષણ હોય ત્યારે GitHub પર phpMussel ઇશ્યૂ પેજ પર નવો ઇશ્યૂ બનાવો, પ્રશ્નમાંની ભૂલો સાથે જોડાયેલ અન્ય કોઈપણ સંબંધિત માહિતી સાથે. આભાર."
field:
Date: "તારીખ"
Hash signatures reconstruction: "હેશ સહી પુનઃનિર્માણ"
IP address: "IP સરનામું"
PE sectional signatures reconstruction: "PE વિભાગીય હસ્તાક્ષરોનું પુનર્નિર્માણ"
Scan results (why flagged): "સ્કેન પરિણામો (શા માટે ધ્વજાંકિત)"
label:
Generated by %s: "%s દ્વારા બનાવવામાં આવેલ"
grammar_brackets: "%s (%s)"
grammar_exclamation_mark: "%s!"
grammar_fullstop: "%s."
grammar_spacer: " "
response:
%s chameleon attack detected: "%s કાચંડો હુમલો મળ્યો"
%s does not exist: "%s અસ્તિત્વમાં નથી"
Checking %s: ""%s" તપાસી રહ્યું છે."
Command injection attempt detected: "કમાન્ડ ઈન્જેક્શનનો પ્રયાસ મળ્યો"
Complete: "પૂર્ણ"
Data not available: "ડેટા ઉપલબ્ધ નથી."
Detected %s: "%s મળ્યો"
Detected control characters: "નિયંત્રણ અક્ષરો મળ્યો"
Detected corrupted PE: "દૂષિત PE મળ્યો"
Detected encrypted archive: "એન્ક્રિપ્ટેડ આર્કાઇવ મળ્યો; એન્ક્રિપ્ટેડ આર્કાઇવ્સની પરવાનગી નથી"
Detected potentially dangerous file tampering: "સંભવિત ખતરનાક ફાઇલ સાથે ચેડાં થયાનું જણાયું"
Error: "ભૂલ"
Failed (missing required extensions): "નિષ્ફળ (જરૂરી એક્સ્ટેંશન ખૂટે છે)!"
Failed to access %s: ""%s" ને ઍક્સેસ કરવામાં નિષ્ફળ!"
Filename manipulation detected: "ફાઇલનામમાં ચાલાકી મળ્યો"
Filesize limit exceeded: "ફાઇલ કદ મર્યાદા ઓળંગી"
Filetype blacklisted: "ફાઇલ પ્રકાર બ્લેકલિસ્ટેડ"
Finished: "સમાપ્ત થઈ ગયું છે"
Image: "છબી"
Invalid data: "અમાન્ય ડેટા!"
Invalid file: "અમાન્ય ફાઇલ!"
Macros aren_t permitted: "મેક્રોની પરવાનગી નથી"
Missing filename: "ફાઇલનામ ખૂટે છે"
No problems found: "કોઈ સમસ્યા મળી નથી."
Only image files are permitted: "માત્ર ઇમેજ ફાઇલોને જ મંજૂરી છે"
Quarantined as: ""%s.qfu" તરીકે સંસર્ગનિષેધમાં."
Recursion depth limit exceeded: "પુનરાવર્તન ઊંડાઈ મર્યાદા ઓળંગાઈ"
Signature file missing: "સહી ફાઇલ ખૂટે છે"
Started: "શરૂ કર્યું"
Task failed because a necessary component is unavailable: "કાર્ય નિષ્ફળ થયું કારણ કે જરૂરી ઘટક અનુપલબ્ધ છે."
Too many URLs: "ઘણા બધા URL"
Too many files in the archive: "આર્કાઇવમાં ઘણી બધી ફાઇલો છે"
64 changes: 64 additions & 0 deletions l10n/hr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
##\
# This file is a part of the phpMussel\Core package.
# Homepage: https://phpmussel.github.io/
#
# PHPMUSSEL COPYRIGHT 2013 AND BEYOND BY THE PHPMUSSEL TEAM.
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Croatian language data (last modified: 2024.03.11).
##/

SafeBrowseLookup:
200: "Otkriven je potencijalno štetan URL"
400: "Pogreška API zahtjeva"
401: "Pogreška API autorizacije"
503: "API usluga nedostupna"
999: "Nepoznata API pogreška"
error_log_header: "Ako se bilo koja od sljedećih pogrešaka nastavi pojavljivati, da biste je prijavili ili zatražili podršku, kreirajte novi problem na stranici s problemima phpMussel-a na GitHubu kad imaš slobodnog trenutka, s dotičnim pogreškama, zajedno s drugim priloženim relevantnim informacijama. Hvala."
field:
Date: "Datum"
Hash signatures reconstruction: "Rekonstrukcija hash potpisa"
IP address: "IP adresa"
PE sectional signatures reconstruction: "Rekonstrukcija potpisa PE sekcijskih"
Scan results (why flagged): "Rezultati skeniranja (zašto označeni)"
label:
Generated by %s: "Generirao %s"
grammar_brackets: "%s (%s)"
grammar_exclamation_mark: "%s!"
grammar_fullstop: "%s."
grammar_spacer: " "
response:
%s chameleon attack detected: "Otkriven je %s kameleonski napad"
%s does not exist: "%s ne postoji"
Checking %s: "Provjeravam "%s"."
Command injection attempt detected: "Otkriven je pokušaj ubacivanja naredbe"
Complete: "Kompletan"
Data not available: "Podaci nisu dostupni."
Detected %s: "Otkriven %s"
Detected control characters: "Otkriveni kontrolni znakovi"
Detected corrupted PE: "Otkriven je oštećen PE"
Detected encrypted archive: "Otkrivena je šifrirana arhiva; Šifrirane arhive nisu dopuštene"
Detected potentially dangerous file tampering: "Otkriveno je potencijalno opasno petljanje datoteke"
Error: "Greška"
Failed (missing required extensions): "Nije uspjelo (nedostaju potrebna proširenja)!"
Failed to access %s: "Pristup "%s" nije uspio!"
Filename manipulation detected: "Otkrivena je manipulacija imenom datoteke"
Filesize limit exceeded: "Premašeno ograničenje veličine datoteke"
Filetype blacklisted: "Vrsta datoteke na crnoj listi"
Finished: "Gotovo"
Image: "Slika"
Invalid data: "Neispravni podaci!"
Invalid file: "Neispravna datoteka!"
Macros aren_t permitted: "Makronaredbe nisu dopuštene"
Missing filename: "Nedostaje naziv datoteke"
No problems found: "Nisam našao nikakve probleme."
Only image files are permitted: "Dopuštene su samo slikovne datoteke"
Quarantined as: "U karanteni kao "%s.qfu"."
Recursion depth limit exceeded: "Ograničenje dubine rekurzije premašeno"
Signature file missing: "Nedostaje datoteka s potpisom"
Started: "Započelo"
Task failed because a necessary component is unavailable: "Zadatak nije uspio jer potrebna komponenta nije dostupna."
Too many URLs: "Previše URL-ova"
Too many files in the archive: "Previše datoteka u arhivi"
Loading

0 comments on commit 35114b1

Please sign in to comment.