feat (local): translation of common server side errors

This commit is contained in:
Mickael Kerjean 2020-05-26 16:20:14 +10:00
parent 71156132db
commit 517ec5bc0b
7 changed files with 36 additions and 18 deletions

View file

@ -3,6 +3,7 @@ import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
import { NgIf, Icon } from './';
import { notify } from '../helpers/';
import { t } from '../locales/';
import './notification.scss';
export class Notification extends React.Component {
@ -71,7 +72,7 @@ export class Notification extends React.Component {
<NgIf key={this.state.message_text+this.state.message_type+this.state.appear} cond={this.state.appear === true} className="no-select">
<div className={"component_notification--container "+(this.state.message_type || 'info')}>
<div className="message">
{ this.state.message_text }
{ t(this.state.message_text || "") }
</div>
<div className="close" onClick={this.cancelAnimation.bind(this)}>
<Icon name="close" />

View file

@ -7,16 +7,20 @@
"ADMIN_CONSOLE": "console administrateur",
"ADVANCED": "avancée",
"ALL_DONE": "Tout est bon!",
"ALREADY_EXIST": "existe déjà",
"BEAUTIFUL_URL": "id_du_lien",
"CAMERA": "appareil",
"CAN_RESHARE": "peut repartager",
"CANCEL": "annuler",
"CANNOT_ESTABLISH_A_CONNECTION": "Impossible d'établir une connexion",
"CANT_LOAD_THIS_PICTURE": "impossible de charger cette image",
"CANT_USE_FILESYSTEM": "Impossible d'utiliser le système de fichiers",
"CODE": "code",
"CONFIGURE": "configuration",
"CONFIRM_BY_TYPING": "confirmez en écrivant",
"CONNECT": "connection",
"COPIED_TO_CLIPBOARD": "Copié dans le presse-papier",
"TRAFFIC_CONGESTION_TRY_AGAIN_LATER": "Congestion, réessayez plus tard",
"CREATE_A_NEW_LINK": "créer un lien partagé",
"CURRENT": "en cours",
"CURRENT_UPLOAD": "en cours",
@ -44,18 +48,30 @@
"INCORRECT_PASSWORD": "mot de passe incorrect",
"INFO": "Information",
"INTERNAL_ERROR_CANT_CREATE_A_{{VALUE}}": "erreur interne: vous ne pouvez pas créer un {{VALUE}}",
"INVALID_PASSWORD": "mot de passe incorrect",
"INVALID_ACCOUNT": "compte invalide",
"LOCATION": "position",
"MISSING_DEPENDENCY": "dépendance manquante",
"NAVIGATE": "naviguer",
"NEW_FILE": "Nouv. Fichier",
"NEW_DIRECTORY": "Nouv. Dossier",
"NEW_FILE": "Nouveau Fichier",
"NEW_FILE::SHORT": "Nouv. Fichier",
"NEW_DIRECTORY": "Nouveau Dossier",
"NEW_DIRECTORY::SHORT": "Nouv. Dossier",
"NO": "non",
"NOT_ALLOWED": "interdit",
"NOT_AUTHORISED": "autorisation manquante",
"NOT_FOUND": "introuvable",
"NOT_IMPLEMENTED": "non implémenté",
"NOT_SUPPORTED": "non supporté",
"NOT_VALID": "pas valide",
"NUMBER_OF_CONNECTIONS": "nombre de connexion",
"OK": "ok",
"OOPS": "Oops!",
"ONLY_FOR_USERS": "Uniquement pour certains utilisateurs",
"OOPS": "oops!",
"ONLY_FOR_USERS": "uniquement pour certains utilisateurs",
"PASSPHRASE": "mot de passe de clef",
"PROPERTIES": "Propriétés",
"PATH": "chemin",
"PERMISSION_DENIED": "autorisation refusée",
"PROPERTIES": "propriétés",
"PORT": "port",
"PASSWORD": "mot de passe",
"PASSWORD_CANT_BE_EMPTY": "le mot de passe ne peut pas être vide",
@ -70,15 +86,16 @@
"SAVE_CURRENT_FILE": "enregistrer le fichier actuel",
"SEARCH": "recherche",
"SETTINGS": "réglage",
"SORT_BY_TYPE": "Trier par type",
"SORT_BY_DATE": "Trier par date",
"SORT_BY_NAME": "Trier par nom",
"SORT_BY_TYPE": "trier par type",
"SORT_BY_DATE": "trier par date",
"SORT_BY_NAME": "trier par nom",
"SUPPORT": "support",
"THERE_IS_NOTHING_HERE": "il n'y a rien ici",
"THE_LINK_WAS_COPIED_IN_THE_CLIPBOARD": "le lien a été copié dans le presse-papiers",
"THE_LINK_WONT_BE_VALID_AFTER": "le lien ne sera plus valide après",
"THE_FILE_{{VALUE}}_WAS_RENAMED": "le fichier \"{{VALUE}}\" a été renommé",
"THE_FILE_{{VALUE}}_WAS_DELETED": "le fichier \"{{VALUE}}\" a été supprimé",
"TIMEOUT": "trop long",
"TODO": "todo",
"UPLOADER": "uploader",
"USERNAME": "nom d'utilisateur",

View file

@ -20,7 +20,7 @@ var (
ErrNotReachable error = NewError("Cannot establish a connection", 502)
ErrInvalidPassword = NewError("Invalid Password", 403)
ErrNotImplemented = NewError("Not Implemented", 501)
ErrNotSupported = NewError("This feature is not supported", 501)
ErrNotSupported = NewError("Not supported", 501)
ErrFilesystemError = NewError("Can't use filesystem", 503)
ErrMissingDependency = NewError("Missing dependency", 424)
ErrNotAuthorized = NewError("Not authorised", 401)

View file

@ -63,7 +63,7 @@ func SessionAuthenticate(ctx App, res http.ResponseWriter, req *http.Request) {
home, err := model.GetHome(backend, session["path"])
if err != nil {
SendErrorResult(res, ErrInvalidPassword)
SendErrorResult(res, ErrAuthenticationFailed)
return
}

View file

@ -85,7 +85,7 @@ func (f Ftp) Init(params map[string]string, app *App) (IBackend, error) {
return backend, err
}
if _, err := client.ReadDir("/"); err != nil {
return backend, err
return backend, ErrAuthenticationFailed
}
backend = &Ftp{client}
}

View file

@ -193,7 +193,7 @@ func (s S3Backend) Cat(path string) (io.ReadCloser, error) {
} else if awsErr.Code() == "InvalidArgument" && strings.Contains(awsErr.Message(), "secret key was invalid") {
return nil, NewError("This file is encrypted file, you need the correct key!", 400)
} else if awsErr.Code() == "AccessDenied" {
return nil, NewError("Access denied", 403)
return nil, ErrNotAllowed
}
return nil ,err
}
@ -223,7 +223,7 @@ func (s S3Backend) Rm(path string) error {
client := s3.New(s.createSession(p.bucket))
if p.bucket == "" {
return NewError("Doesn't exist", 404)
return ErrNotFound
}
objs, err := client.ListObjects(&s3.ListObjectsInput{
@ -276,7 +276,7 @@ func (s S3Backend) Mv(from string, to string) error {
client := s3.New(s.createSession(f.bucket))
if f.path == "" {
return NewError("Can't move this", 403)
return ErrNotImplemented
}
input := &s3.CopyObjectInput{
@ -303,7 +303,7 @@ func (s S3Backend) Touch(path string) error {
client := s3.New(s.createSession(p.bucket))
if p.bucket == "" {
return NewError("Can't do that on S3", 403)
return ErrNotValid
}
input := &s3.PutObjectInput{
@ -324,7 +324,7 @@ func (s S3Backend) Save(path string, file io.Reader) error {
p := s.path(path)
if p.bucket == "" {
return NewError("Can't do that on S3", 403)
return ErrNotValid
}
uploader := s3manager.NewUploader(s.createSession(path))
input := s3manager.UploadInput{

View file

@ -99,7 +99,7 @@ func (s Sftp) Init(params map[string]string, app *App) (IBackend, error) {
session, err := sftp.NewClient(s.SSHClient)
if err != nil {
return &s, ErrNotReachable
return &s, err
}
s.SFTPClient = session
SftpCache.Set(params, &s)