Error 1215: Can't find how to solve it
Even though Mysql InnoDB allows to reference non-unique column or set of columns, it's very bad practice, and not recommended especially with CASCADE option :


  Additionally, MySQL requires that the referenced columns be indexed for performance reasons. However, the system does not enforce a requirement that the referenced columns be UNIQUE or be declared NOT NULL. The handling of foreign key references to nonunique keys or keys that contain NULL values is not well defined for operations such as UPDATE or DELETE CASCADE. You are advised to use foreign keys that reference only UNIQUE (including PRIMARY) and NOT NULL keys.
  (https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html)


The right way is to have a reference to USER.ID , not to USER.NAME.  

However, adding and index on USER.NAME will let you create a constraint you want :   

CREATE INDEX IDX_NAME ON USER(NAME)  

Your code would work as well if you removed size while creating index: 

ALTER TABLE `USER`
  ADD PRIMARY KEY (`ID`),
  ADD UNIQUE KEY `MAIL` (`MAIL`),
  ADD KEY `NAME_LINK` (`NAME`) USING BTREE;
   --NOT `NAME_LINK` (`NAME`(10))  !!
  ALTER TABLE CUSTOM_TRANSLATION add constraint fk1 foreign key (AUTHOR) references user(name);