Work on feature to find a translation key
This commit is contained in:
parent
13746a3c03
commit
cb27b01812
BIN
doc/images/dolibarr_screenshot1_1280x800.jpg
Normal file
BIN
doc/images/dolibarr_screenshot1_1280x800.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 234 KiB |
@ -40,6 +40,8 @@ $langcode=GETPOST('langcode','alpha');
|
|||||||
$transkey=GETPOST('transkey','alpha');
|
$transkey=GETPOST('transkey','alpha');
|
||||||
$transvalue=GETPOST('transvalue','alpha');
|
$transvalue=GETPOST('transvalue','alpha');
|
||||||
|
|
||||||
|
$mode = GETPOST('mode')?GETPOST('mode'):'overwrite';
|
||||||
|
|
||||||
$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
|
$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
|
||||||
$sortfield = GETPOST("sortfield",'alpha');
|
$sortfield = GETPOST("sortfield",'alpha');
|
||||||
$sortorder = GETPOST("sortorder",'alpha');
|
$sortorder = GETPOST("sortorder",'alpha');
|
||||||
@ -124,7 +126,7 @@ $formadmin = new FormAdmin($db);
|
|||||||
$wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración';
|
$wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración';
|
||||||
llxHeader('',$langs->trans("Setup"),$wikihelp);
|
llxHeader('',$langs->trans("Setup"),$wikihelp);
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("TranslationSetup"),'','title_setup');
|
print load_fiche_titre($langs->trans("Translation"),'','title_setup');
|
||||||
|
|
||||||
print $langs->trans("TranslationDesc")."<br>\n";
|
print $langs->trans("TranslationDesc")."<br>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
@ -140,16 +142,24 @@ print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("La
|
|||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
$param='';
|
|
||||||
|
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL > 1)
|
$param='mode='.$mode;
|
||||||
|
|
||||||
|
|
||||||
|
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
|
||||||
|
|
||||||
|
$head=translation_prepare_head();
|
||||||
|
|
||||||
|
dol_fiche_head($head, $mode, '', 0, '');
|
||||||
|
|
||||||
|
if ($mode == 'searchkey')
|
||||||
{
|
{
|
||||||
print '<br>';
|
//print '<br>';
|
||||||
print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n";
|
//print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n";
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
|
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<input type="hidden" id="action" name="action" value="">';
|
print '<input type="hidden" id="action" name="action" value="search">';
|
||||||
|
print '<input type="hidden" id="mode" name="mode" value="'.$mode.'">';
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -165,7 +175,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 1)
|
|||||||
print "\n";
|
print "\n";
|
||||||
|
|
||||||
print '<tr '.$bc[$var].'><td>';
|
print '<tr '.$bc[$var].'><td>';
|
||||||
print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,1,0,0,'',1);
|
print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,$langs->trans("All"),0,0,'',1);
|
||||||
//print '<input type="text" class="flat" size="24" name="langcode" value="'.GETPOST('langcode').'">';
|
//print '<input type="text" class="flat" size="24" name="langcode" value="'.GETPOST('langcode').'">';
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -194,112 +204,116 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 1)
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<br>';
|
if ($mode == 'overwrite')
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n";
|
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
|
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
|
||||||
print '<input type="hidden" id="action" name="action" value="">';
|
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder);
|
|
||||||
if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
|
||||||
print '<td align="center"></td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
|
|
||||||
// Line to add new record
|
|
||||||
$var=false;
|
|
||||||
print "\n";
|
|
||||||
|
|
||||||
print '<tr '.$bc[$var].'><td>';
|
|
||||||
print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1);
|
|
||||||
//print '<input type="text" class="flat" size="24" name="langcode" value="'.GETPOST('langcode').'">';
|
|
||||||
print '</td>'."\n";
|
|
||||||
print '<td>';
|
|
||||||
print '<input type="text" class="flat maxwidthonsmartphone" name="transkey" value="">';
|
|
||||||
print '</td><td>';
|
|
||||||
print '<input type="text" class="quatrevingtpercent" name="transvalue" value="">';
|
|
||||||
print '</td>';
|
|
||||||
// Limit to superadmin
|
|
||||||
if (! empty($conf->multicompany->enabled) && !$user->entity)
|
|
||||||
{
|
{
|
||||||
print '<td>';
|
//print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n";
|
||||||
print '<input type="text" class="flat" size="1" name="entity" value="'.$conf->entity.'">';
|
|
||||||
print '</td>';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<td align="center">';
|
print '<input type="hidden" id="action" name="action" value="">';
|
||||||
}
|
print '<input type="hidden" id="mode" name="mode" value="'.$mode.'">';
|
||||||
else
|
|
||||||
{
|
print '<table class="noborder" width="100%">';
|
||||||
print '<td align="center">';
|
print '<tr class="liste_titre">';
|
||||||
print '<input type="hidden" name="entity" value="'.$conf->entity.'">';
|
print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder);
|
||||||
}
|
print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Add").'" name="add">';
|
print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder);
|
||||||
print "</td>\n";
|
if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder);
|
||||||
print '</tr>';
|
print '<td align="center"></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
|
||||||
// Show constants
|
// Line to add new record
|
||||||
$sql = "SELECT";
|
$var=false;
|
||||||
$sql.= " rowid";
|
print "\n";
|
||||||
$sql.= ", lang";
|
|
||||||
$sql.= ", transkey";
|
|
||||||
$sql.= ", transvalue";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans";
|
|
||||||
$sql.= " WHERE 1 = 1";
|
|
||||||
//$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")";
|
|
||||||
//if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug
|
|
||||||
//else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits
|
|
||||||
//if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name'));
|
|
||||||
//$sql.= " ORDER BY entity, name ASC";
|
|
||||||
$sql.= $db->order($sortfield, $sortorder);
|
|
||||||
|
|
||||||
dol_syslog("translation::select from table", LOG_DEBUG);
|
print '<tr '.$bc[$var].'><td>';
|
||||||
$result = $db->query($sql);
|
print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1);
|
||||||
if ($result)
|
//print '<input type="text" class="flat" size="24" name="langcode" value="'.GETPOST('langcode').'">';
|
||||||
{
|
print '</td>'."\n";
|
||||||
$num = $db->num_rows($result);
|
print '<td>';
|
||||||
$i = 0;
|
print '<input type="text" class="flat maxwidthonsmartphone" name="transkey" value="">';
|
||||||
$var=false;
|
print '</td><td>';
|
||||||
|
print '<input type="text" class="quatrevingtpercent" name="transvalue" value="">';
|
||||||
|
print '</td>';
|
||||||
|
// Limit to superadmin
|
||||||
|
if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||||
|
{
|
||||||
|
print '<td>';
|
||||||
|
print '<input type="text" class="flat" size="1" name="entity" value="'.$conf->entity.'">';
|
||||||
|
print '</td>';
|
||||||
|
print '<td align="center">';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td align="center">';
|
||||||
|
print '<input type="hidden" name="entity" value="'.$conf->entity.'">';
|
||||||
|
}
|
||||||
|
print '<input type="submit" class="button" value="'.$langs->trans("Add").'" name="add">';
|
||||||
|
print "</td>\n";
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($result);
|
|
||||||
$var=!$var;
|
|
||||||
|
|
||||||
print "\n";
|
// Show constants
|
||||||
|
$sql = "SELECT";
|
||||||
|
$sql.= " rowid";
|
||||||
|
$sql.= ", lang";
|
||||||
|
$sql.= ", transkey";
|
||||||
|
$sql.= ", transvalue";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans";
|
||||||
|
$sql.= " WHERE 1 = 1";
|
||||||
|
//$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")";
|
||||||
|
//if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug
|
||||||
|
//else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits
|
||||||
|
//if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name'));
|
||||||
|
//$sql.= " ORDER BY entity, name ASC";
|
||||||
|
$sql.= $db->order($sortfield, $sortorder);
|
||||||
|
|
||||||
print '<tr '.$bc[$var].'>';
|
dol_syslog("translation::select from table", LOG_DEBUG);
|
||||||
|
$result = $db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($result);
|
||||||
|
$i = 0;
|
||||||
|
$var=false;
|
||||||
|
|
||||||
print '<td>'.$obj->lang.'</td>'."\n";
|
while ($i < $num)
|
||||||
print '<td>'.$obj->transkey.'</td>'."\n";
|
{
|
||||||
|
$obj = $db->fetch_object($result);
|
||||||
|
$var=!$var;
|
||||||
|
|
||||||
// Value
|
print "\n";
|
||||||
print '<td>';
|
|
||||||
/*print '<input type="hidden" name="const['.$i.'][rowid]" value="'.$obj->rowid.'">';
|
|
||||||
print '<input type="hidden" name="const['.$i.'][lang]" value="'.$obj->lang.'">';
|
|
||||||
print '<input type="hidden" name="const['.$i.'][name]" value="'.$obj->transkey.'">';
|
|
||||||
print '<input type="text" id="value_'.$i.'" class="flat inputforupdate" size="30" name="const['.$i.'][value]" value="'.dol_escape_htmltag($obj->transvalue).'">';
|
|
||||||
*/
|
|
||||||
print $obj->transvalue;
|
|
||||||
print '</td>';
|
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<tr '.$bc[$var].'>';
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?rowid='.$obj->rowid.'&entity='.$obj->entity.'&action=delete'.((empty($user->entity) && $debug)?'&debug=1':'').'">'.img_delete().'</a>';
|
|
||||||
print '</td>';
|
print '<td>'.$obj->lang.'</td>'."\n";
|
||||||
|
print '<td>'.$obj->transkey.'</td>'."\n";
|
||||||
|
|
||||||
|
// Value
|
||||||
|
print '<td>';
|
||||||
|
/*print '<input type="hidden" name="const['.$i.'][rowid]" value="'.$obj->rowid.'">';
|
||||||
|
print '<input type="hidden" name="const['.$i.'][lang]" value="'.$obj->lang.'">';
|
||||||
|
print '<input type="hidden" name="const['.$i.'][name]" value="'.$obj->transkey.'">';
|
||||||
|
print '<input type="text" id="value_'.$i.'" class="flat inputforupdate" size="30" name="const['.$i.'][value]" value="'.dol_escape_htmltag($obj->transvalue).'">';
|
||||||
|
*/
|
||||||
|
print $obj->transvalue;
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td align="center">';
|
||||||
|
print '<a href="'.$_SERVER['PHP_SELF'].'?rowid='.$obj->rowid.'&entity='.$obj->entity.'&action=delete'.((empty($user->entity) && $debug)?'&debug=1':'').'">'.img_delete().'</a>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print "</tr>\n";
|
||||||
|
print "\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
print "</tr>\n";
|
|
||||||
print "\n";
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
print '</table>';
|
|
||||||
|
|
||||||
print "</form>\n";
|
print "</form>\n";
|
||||||
|
|
||||||
|
|||||||
@ -51,14 +51,14 @@ class FormAdmin
|
|||||||
* @param string $htmlname Name of HTML select
|
* @param string $htmlname Name of HTML select
|
||||||
* @param int $showauto Show 'auto' choice
|
* @param int $showauto Show 'auto' choice
|
||||||
* @param array $filter Array of keys to exclude in list
|
* @param array $filter Array of keys to exclude in list
|
||||||
* @param int $showempty Add empty value
|
* @param string $showempty 1=Add empty value or string to show
|
||||||
* @param int $showwarning Show a warning if language is not complete
|
* @param int $showwarning Show a warning if language is not complete
|
||||||
* @param int $disabled Disable edit of select
|
* @param int $disabled Disable edit of select
|
||||||
* @param string $morecss Add more css styles
|
* @param string $morecss Add more css styles
|
||||||
* @param int $showcode Add language code into label
|
* @param int $showcode Add language code into label
|
||||||
* @return string Return HTML select string with list of languages
|
* @return string Return HTML select string with list of languages
|
||||||
*/
|
*/
|
||||||
function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=null,$showempty=0,$showwarning=0,$disabled=0,$morecss='',$showcode=0)
|
function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=null,$showempty='',$showwarning=0,$disabled=0,$morecss='',$showcode=0)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
@ -71,7 +71,10 @@ class FormAdmin
|
|||||||
{
|
{
|
||||||
$out.= '<option value=""';
|
$out.= '<option value=""';
|
||||||
if ($selected == '') $out.= ' selected';
|
if ($selected == '') $out.= ' selected';
|
||||||
$out.= '> </option>';
|
$out.= '>';
|
||||||
|
if ($showempty != '1') $out.=$showempty;
|
||||||
|
else $out.=' ';
|
||||||
|
$out.='</option>';
|
||||||
}
|
}
|
||||||
if ($showauto)
|
if ($showauto)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -568,6 +568,37 @@ function security_prepare_head()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepare array with list of tabs
|
||||||
|
*
|
||||||
|
* @return array Array of tabs to show
|
||||||
|
*/
|
||||||
|
function translation_prepare_head()
|
||||||
|
{
|
||||||
|
global $langs, $conf, $user;
|
||||||
|
$h = 0;
|
||||||
|
$head = array();
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/translation.php?mode=overwrite";
|
||||||
|
$head[$h][1] = $langs->trans("TranslationOverwriteKey");
|
||||||
|
$head[$h][2] = 'overwrite';
|
||||||
|
$h++;
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/translation.php?mode=searchkey";
|
||||||
|
$head[$h][1] = $langs->trans("TranslationKeySearch");
|
||||||
|
$head[$h][2] = 'searchkey';
|
||||||
|
$h++;
|
||||||
|
|
||||||
|
complete_head_from_modules($conf,$langs,null,$head,$h,'translation_admin');
|
||||||
|
|
||||||
|
complete_head_from_modules($conf,$langs,null,$head,$h,'translation_admin','remove');
|
||||||
|
|
||||||
|
|
||||||
|
return $head;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return list of session
|
* Return list of session
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user