Hi,
So you raise two issues. One when loading the category name, and one for the translation of custom product fields.
1. Falang should automatically translate the return of the query. I guess that your query is a case not handled by Falang. Try like that instead:
<?php
$db = JFactory::getDBO();
$db->setQuery('SELECT category_id FROM '.hikashop_table('product_category').' WHERE product_id='.(int)$this->row->product_id);
$categoryName = $db->loadResult();
$db->setQuery('SELECT *FROM '.hikashop_table('category').' WHERE category_id='.(int)$categoryName);
$category = $db->loadObject();
$categoryName = $category->category_name;
?>
Maybe Falang will have it easier with all the fields of the category... Otherwise, I would recommend to check on that with Falang support as this is supposed to work automatically with the Falang database plugin.
2. It's normal that the code you used display the original value since you don't use the custom field display function. You should use instead such code :
<?php
$this->fieldsClass = hikashop_get('class.field');
$itemFields = $this->fieldsClass->getFields('frontcomp',$this->row,'product','checkout&task=state');
echo $this->fieldsClass->show($itemFields['mastil'],$this->row->mastil);
?>