Update functions and calls

Update function names and calls.
This commit is contained in:
Adam Magness 2018-01-21 11:38:01 -05:00
parent 417b32c881
commit c8ecc31405
16 changed files with 209 additions and 189 deletions

View File

@ -39,7 +39,7 @@ They are initialized with an array of data, depending on the tyle of the field.
All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addesses use something along the lines of: All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addesses use something along the lines of:
'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.'), 'required', '', 'email'), '$adminmail' => array('adminmail', L10n::t('Site administrator email address'), $adminmail, L10n::t('Your account email address must match this in order to use the web admin panel.'), 'required', '', 'email'),
To evaluate the input value, you can then use the $_POST array, more precisely the $_POST['adminemail'] variable. To evaluate the input value, you can then use the $_POST array, more precisely the $_POST['adminemail'] variable.

View File

@ -109,17 +109,17 @@ The _post functions handle the processing of the send form, in this case they sa
To make your own variation appear in the menu, all you need to do is to create a new CSS file in the deriv directoy and include it in the array in the config.php: To make your own variation appear in the menu, all you need to do is to create a new CSS file in the deriv directoy and include it in the array in the config.php:
$colorset = array( $colorset = array(
'default'=>t('default'), 'default'=>L10n::t('default'),
'greenzero'=>t('greenzero'), 'greenzero'=>L10n::t('greenzero'),
'purplezero'=>t('purplezero'), 'purplezero'=>L10n::t('purplezero'),
'easterbunny'=>t('easterbunny'), 'easterbunny'=>L10n::t('easterbunny'),
'darkzero'=>t('darkzero'), 'darkzero'=>L10n::t('darkzero'),
'comix'=>t('comix'), 'comix'=>L10n::t('comix'),
'slackr'=>t('slackr'), 'slackr'=>L10n::t('slackr'),
); );
the 1st part of the line is the name of the CSS file (without the .css) the 2nd part is the common name of the variant. the 1st part of the line is the name of the CSS file (without the .css) the 2nd part is the common name of the variant.
Calling the t() function with the common name makes the string translateable. Calling the L10n::t() function with the common name makes the string translateable.
The selected 1st part will be saved in the database by the theme_post function. The selected 1st part will be saved in the database by the theme_post function.
function theme_post(App $a){ function theme_post(App $a){

View File

@ -7,6 +7,7 @@ use Friendica\Content\Feature;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon; use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\GContact; use Friendica\Model\GContact;
@ -351,31 +352,31 @@ function populate_acl($user = null, $show_jotnets = false) {
if (!$user['hidewall']) { if (!$user['hidewall']) {
if ($mail_enabled) { if ($mail_enabled) {
$selected = (($pubmail_enabled) ? ' checked="checked" ' : ''); $selected = (($pubmail_enabled) ? ' checked="checked" ' : '');
$jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>'; $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . L10n::t("Post to Email") . '</div>';
} }
Addon::callHooks('jot_networks', $jotnets); Addon::callHooks('jot_networks', $jotnets);
} else { } else {
$jotnets .= sprintf(t('Connectors disabled, since "%s" is enabled.'), $jotnets .= sprintf(L10n::t('Connectors disabled, since "%s" is enabled.'),
t('Hide your profile details from unknown viewers?')); L10n::t('Hide your profile details from unknown viewers?'));
} }
} }
$tpl = get_markup_template("acl_selector.tpl"); $tpl = get_markup_template("acl_selector.tpl");
$o = replace_macros($tpl, [ $o = replace_macros($tpl, [
'$showall'=> t("Visible to everybody"), '$showall'=> L10n::t("Visible to everybody"),
'$show' => t("show"), '$show' => L10n::t("show"),
'$hide' => t("don't show"), '$hide' => L10n::t("don't show"),
'$allowcid' => json_encode($perms['allow_cid']), '$allowcid' => json_encode($perms['allow_cid']),
'$allowgid' => json_encode($perms['allow_gid']), '$allowgid' => json_encode($perms['allow_gid']),
'$denycid' => json_encode($perms['deny_cid']), '$denycid' => json_encode($perms['deny_cid']),
'$denygid' => json_encode($perms['deny_gid']), '$denygid' => json_encode($perms['deny_gid']),
'$networks' => $show_jotnets, '$networks' => $show_jotnets,
'$emailcc' => t('CC: email addresses'), '$emailcc' => L10n::t('CC: email addresses'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'), '$emtitle' => L10n::t('Example: bob@example.com, mary@example.com'),
'$jotnets' => $jotnets, '$jotnets' => $jotnets,
'$aclModalTitle' => t('Permissions'), '$aclModalTitle' => L10n::t('Permissions'),
'$aclModalDismiss' => t('Close'), '$aclModalDismiss' => L10n::t('Close'),
'$features' => [ '$features' => [
'aclautomention' => (Feature::isEnabled($user['uid'], "aclautomention") ? "true" : "false") 'aclautomention' => (Feature::isEnabled($user['uid'], "aclautomention") ? "true" : "false")
], ],

View File

@ -12,6 +12,7 @@ use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\NotificationsManager; use Friendica\Core\NotificationsManager;
use Friendica\Core\L10n;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -1176,8 +1177,8 @@ function api_statuses_update($type)
if ($posts_day > $throttle_day) { if ($posts_day > $throttle_day) {
logger('Daily posting limit reached for user '.api_user(), LOGGER_DEBUG); logger('Daily posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, sprintf(t("Daily posting limit of %d posts reached. The post was rejected."), $throttle_day))); // die(api_error($type, sprintf(L10n::t("Daily posting limit of %d posts reached. The post was rejected."), $throttle_day)));
throw new TooManyRequestsException(sprintf(t("Daily posting limit of %d posts reached. The post was rejected."), $throttle_day)); throw new TooManyRequestsException(sprintf(L10n::t("Daily posting limit of %d posts reached. The post was rejected."), $throttle_day));
} }
} }
@ -1200,8 +1201,8 @@ function api_statuses_update($type)
if ($posts_week > $throttle_week) { if ($posts_week > $throttle_week) {
logger('Weekly posting limit reached for user '.api_user(), LOGGER_DEBUG); logger('Weekly posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, sprintf(t("Weekly posting limit of %d posts reached. The post was rejected."), $throttle_week))); // die(api_error($type, sprintf(L10n::t("Weekly posting limit of %d posts reached. The post was rejected."), $throttle_week)));
throw new TooManyRequestsException(sprintf(t("Weekly posting limit of %d posts reached. The post was rejected."), $throttle_week)); throw new TooManyRequestsException(sprintf(L10n::t("Weekly posting limit of %d posts reached. The post was rejected."), $throttle_week));
} }
} }
@ -1224,8 +1225,8 @@ function api_statuses_update($type)
if ($posts_month > $throttle_month) { if ($posts_month > $throttle_month) {
logger('Monthly posting limit reached for user '.api_user(), LOGGER_DEBUG); logger('Monthly posting limit reached for user '.api_user(), LOGGER_DEBUG);
// die(api_error($type, sprintf(t("Monthly posting limit of %d posts reached. The post was rejected."), $throttle_month))); // die(api_error($type, sprintf(L10n::t("Monthly posting limit of %d posts reached. The post was rejected."), $throttle_month)));
throw new TooManyRequestsException(sprintf(t("Monthly posting limit of %d posts reached. The post was rejected."), $throttle_month)); throw new TooManyRequestsException(sprintf(L10n::t("Monthly posting limit of %d posts reached. The post was rejected."), $throttle_month));
} }
} }
@ -4374,7 +4375,7 @@ function api_account_update_profile_image($type)
$media = $_FILES['media']; $media = $_FILES['media'];
} }
// save new profile image // save new profile image
$data = save_media_to_database("profileimage", $media, $type, t('Profile Photos'), "", "", "", "", "", $is_default_profile); $data = save_media_to_database("profileimage", $media, $type, L10n::t('Profile Photos'), "", "", "", "", "", $is_default_profile);
// get filetype // get filetype
if (is_array($media['type'])) { if (is_array($media['type'])) {

View File

@ -234,13 +234,13 @@ function format_event_diaspora($ev) {
return ''; return '';
} }
$bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM $bd_format = L10n::t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
$o = 'Friendica event notification:' . "\n"; $o = 'Friendica event notification:' . "\n";
$o .= '**' . (($ev['summary']) ? bb2diaspora($ev['summary']) : bb2diaspora($ev['desc'])) . '**' . "\n"; $o .= '**' . (($ev['summary']) ? bb2diaspora($ev['summary']) : bb2diaspora($ev['desc'])) . '**' . "\n";
$o .= t('Starts:') . ' ' . '[' $o .= L10n::t('Starts:') . ' ' . '['
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC',
$ev['start'] , $bd_format )) $ev['start'] , $bd_format ))
: day_translate(datetime_convert('UTC', 'UTC', : day_translate(datetime_convert('UTC', 'UTC',
@ -248,7 +248,7 @@ function format_event_diaspora($ev) {
. '](' . System::baseUrl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n"; . '](' . System::baseUrl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n";
if (! $ev['nofinish']) { if (! $ev['nofinish']) {
$o .= t('Finishes:') . ' ' . '[' $o .= L10n::t('Finishes:') . ' ' . '['
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC',
$ev['finish'] , $bd_format )) $ev['finish'] , $bd_format ))
: day_translate(datetime_convert('UTC', 'UTC', : day_translate(datetime_convert('UTC', 'UTC',
@ -257,7 +257,7 @@ function format_event_diaspora($ev) {
} }
if (strlen($ev['location'])) { if (strlen($ev['location'])) {
$o .= t('Location:') . bb2diaspora($ev['location']) $o .= L10n::t('Location:') . bb2diaspora($ev['location'])
. "\n"; . "\n";
} }

View File

@ -411,7 +411,7 @@ function bb_replace_images($body, $images) {
// We're depending on the property of 'foreach' (specified on the PHP website) that // We're depending on the property of 'foreach' (specified on the PHP website) that
// it loops over the array starting from the first element and going sequentially // it loops over the array starting from the first element and going sequentially
// to the last element // to the last element
$newbody = str_replace('[$#saved_image' . $cnt . '#$]', '<img src="' . proxy_url($image) .'" alt="' . t('Image/photo') . '" />', $newbody); $newbody = str_replace('[$#saved_image' . $cnt . '#$]', '<img src="' . proxy_url($image) .'" alt="' . L10n::t('Image/photo') . '" />', $newbody);
$cnt++; $cnt++;
} }
@ -549,7 +549,7 @@ function bb_ShareAttributes($share, $simplehtml)
break; break;
case 4: case 4:
$headline .= '<br /><b>' . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8'); $headline .= '<br /><b>' . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8');
$headline .= t('<a href="%1$s" target="_blank">%2$s</a> %3$s', $link, $userid, $posted); $headline .= L10n::t('<a href="%1$s" target="_blank">%2$s</a> %3$s', $link, $userid, $posted);
$headline .= ":</b><br />"; $headline .= ":</b><br />";
$text = trim($share[1]); $text = trim($share[1]);
@ -1180,7 +1180,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
// Check for [spoiler=Author] text // Check for [spoiler=Author] text
$t_wrote = t('$1 wrote:'); $t_wrote = L10n::t('$1 wrote:');
// handle nested quotes // handle nested quotes
$endlessloop = 0; $endlessloop = 0;
@ -1202,7 +1202,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
// Check for [quote=Author] text // Check for [quote=Author] text
$t_wrote = t('$1 wrote:'); $t_wrote = L10n::t('$1 wrote:');
// handle nested quotes // handle nested quotes
$endlessloop = 0; $endlessloop = 0;
@ -1223,8 +1223,8 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
// [img]pathtoimage[/img] // [img]pathtoimage[/img]
$Text = preg_replace_callback("/\[img\](.*?)\[\/img\]/ism", 'bb_PictureCache', $Text); $Text = preg_replace_callback("/\[img\](.*?)\[\/img\]/ism", 'bb_PictureCache', $Text);
$Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text); $Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . L10n::t('Image/photo') . '" />', $Text);
$Text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text); $Text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img src="$1" alt="' . L10n::t('Image/photo') . '" />', $Text);
// Shared content // Shared content
$Text = preg_replace_callback("/(.*?)\[share(.*?)\](.*?)\[\/share\]/ism", $Text = preg_replace_callback("/(.*?)\[share(.*?)\](.*?)\[\/share\]/ism",
@ -1232,9 +1232,9 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
return bb_ShareAttributes($match, $simplehtml); return bb_ShareAttributes($match, $simplehtml);
}, $Text); }, $Text);
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text); $Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . L10n::t('Encrypted content') . '" /><br />', $Text);
$Text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text); $Text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . '$1' . ' ' . L10n::t('Encrypted content') . '" /><br />', $Text);
//$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text); //$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . '$1' . ' ' . L10n::t('Encrypted content') . '" /><br />', $Text);
// Try to Oembed // Try to Oembed
if ($tryoembed) { if ($tryoembed) {
@ -1352,7 +1352,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
// sanitizes src attributes (http and redir URLs for displaying in a web page, cid used for inline images in emails) // sanitizes src attributes (http and redir URLs for displaying in a web page, cid used for inline images in emails)
static $allowed_src_protocols = ['http', 'redir', 'cid']; static $allowed_src_protocols = ['http', 'redir', 'cid'];
$Text = preg_replace('#<([^>]*?)(src)="(?!' . implode('|', $allowed_src_protocols) . ')(.*?)"(.*?)>#ism', $Text = preg_replace('#<([^>]*?)(src)="(?!' . implode('|', $allowed_src_protocols) . ')(.*?)"(.*?)>#ism',
'<$1$2=""$4 data-original-src="$3" class="invalid-src" title="' . t('Invalid source protocol') . '">', $Text); '<$1$2=""$4 data-original-src="$3" class="invalid-src" title="' . L10n::t('Invalid source protocol') . '">', $Text);
// sanitize href attributes (only whitelisted protocols URLs) // sanitize href attributes (only whitelisted protocols URLs)
// default value for backward compatibility // default value for backward compatibility
@ -1363,7 +1363,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
$allowed_link_protocols[] = 'redir/'; $allowed_link_protocols[] = 'redir/';
$regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism'; $regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism';
$Text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . t('Invalid link protocol') . '">', $Text); $Text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . L10n::t('Invalid link protocol') . '">', $Text);
if ($saved_image) { if ($saved_image) {
$Text = bb_replace_images($Text, $saved_image); $Text = bb_replace_images($Text, $saved_image);

View File

@ -137,39 +137,39 @@ function localize_item(&$item) {
case ACTIVITY_POST: case ACTIVITY_POST:
switch ($obj['object-type']) { switch ($obj['object-type']) {
case ACTIVITY_OBJ_EVENT: case ACTIVITY_OBJ_EVENT:
$post_type = t('event'); $post_type = L10n::t('event');
break; break;
default: default:
$post_type = t('status'); $post_type = L10n::t('status');
} }
break; break;
default: default:
if ($obj['resource-id']) { if ($obj['resource-id']) {
$post_type = t('photo'); $post_type = L10n::t('photo');
$m = []; $m = [];
preg_match("/\[url=([^]]*)\]/", $obj['body'], $m); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1]; $rr['plink'] = $m[1];
} else { } else {
$post_type = t('status'); $post_type = L10n::t('status');
} }
} }
$plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]'; $plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
if (activity_match($item['verb'], ACTIVITY_LIKE)) { if (activity_match($item['verb'], ACTIVITY_LIKE)) {
$bodyverb = t('%1$s likes %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s likes %2$s\'s %3$s');
} }
elseif (activity_match($item['verb'], ACTIVITY_DISLIKE)) { elseif (activity_match($item['verb'], ACTIVITY_DISLIKE)) {
$bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s doesn\'t like %2$s\'s %3$s');
} }
elseif (activity_match($item['verb'], ACTIVITY_ATTEND)) { elseif (activity_match($item['verb'], ACTIVITY_ATTEND)) {
$bodyverb = t('%1$s attends %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s attends %2$s\'s %3$s');
} }
elseif (activity_match($item['verb'], ACTIVITY_ATTENDNO)) { elseif (activity_match($item['verb'], ACTIVITY_ATTENDNO)) {
$bodyverb = t('%1$s doesn\'t attend %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s doesn\'t attend %2$s\'s %3$s');
} }
elseif (activity_match($item['verb'], ACTIVITY_ATTENDMAYBE)) { elseif (activity_match($item['verb'], ACTIVITY_ATTENDMAYBE)) {
$bodyverb = t('%1$s attends maybe %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s attends maybe %2$s\'s %3$s');
} }
$item['body'] = sprintf($bodyverb, $author, $objauthor, $plink); $item['body'] = sprintf($bodyverb, $author, $objauthor, $plink);
@ -202,7 +202,7 @@ function localize_item(&$item) {
$Bphoto = '[url=' . Profile::zrl($Blink) . '][img]' . $Bphoto . '[/img][/url]'; $Bphoto = '[url=' . Profile::zrl($Blink) . '][img]' . $Bphoto . '[/img][/url]';
} }
$item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto; $item['body'] = sprintf( L10n::t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto;
} }
if (stristr($item['verb'], ACTIVITY_POKE)) { if (stristr($item['verb'], ACTIVITY_POKE)) {
@ -243,11 +243,11 @@ function localize_item(&$item) {
* we can't have a translation string with three positions but no distinguishable text * we can't have a translation string with three positions but no distinguishable text
* So here is the translate string. * So here is the translate string.
*/ */
$txt = t('%1$s poked %2$s'); $txt = L10n::t('%1$s poked %2$s');
// now translate the verb // now translate the verb
$poked_t = trim(sprintf($txt, "", "")); $poked_t = trim(sprintf($txt, "", ""));
$txt = str_replace( $poked_t, t($verb), $txt); $txt = str_replace( $poked_t, L10n::t($verb), $txt);
// then do the sprintf on the translation string // then do the sprintf on the translation string
@ -275,19 +275,19 @@ function localize_item(&$item) {
case ACTIVITY_POST: case ACTIVITY_POST:
switch ($obj['object-type']) { switch ($obj['object-type']) {
case ACTIVITY_OBJ_EVENT: case ACTIVITY_OBJ_EVENT:
$post_type = t('event'); $post_type = L10n::t('event');
break; break;
default: default:
$post_type = t('status'); $post_type = L10n::t('status');
} }
break; break;
default: default:
if ($obj['resource-id']) { if ($obj['resource-id']) {
$post_type = t('photo'); $post_type = L10n::t('photo');
$m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m); $m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1]; $rr['plink'] = $m[1];
} else { } else {
$post_type = t('status'); $post_type = L10n::t('status');
} }
// Let's break everthing ... ;-) // Let's break everthing ... ;-)
break; break;
@ -297,7 +297,7 @@ function localize_item(&$item) {
$parsedobj = parse_xml_string($xmlhead.$item['object']); $parsedobj = parse_xml_string($xmlhead.$item['object']);
$tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content); $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
$item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag ); $item['body'] = sprintf( L10n::t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
} }
if (activity_match($item['verb'], ACTIVITY_FAVORITE)) { if (activity_match($item['verb'], ACTIVITY_FAVORITE)) {
@ -324,8 +324,8 @@ function localize_item(&$item) {
$Blink = $target['author-link']; $Blink = $target['author-link'];
$A = '[url=' . Profile::zrl($Alink) . ']' . $Aname . '[/url]'; $A = '[url=' . Profile::zrl($Alink) . ']' . $Aname . '[/url]';
$B = '[url=' . Profile::zrl($Blink) . ']' . $Bname . '[/url]'; $B = '[url=' . Profile::zrl($Blink) . ']' . $Bname . '[/url]';
$P = '[url=' . $target['plink'] . ']' . t('post/item') . '[/url]'; $P = '[url=' . $target['plink'] . ']' . L10n::t('post/item') . '[/url]';
$item['body'] = sprintf( t('%1$s marked %2$s\'s %3$s as favorite'), $A, $B, $P)."\n"; $item['body'] = sprintf( L10n::t('%1$s marked %2$s\'s %3$s as favorite'), $A, $B, $P)."\n";
} }
} }
} }
@ -601,8 +601,8 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
$items = $cb['items']; $items = $cb['items'];
$conv_responses = [ $conv_responses = [
'like' => ['title' => t('Likes','title')], 'dislike' => ['title' => t('Dislikes','title')], 'like' => ['title' => L10n::t('Likes','title')], 'dislike' => ['title' => L10n::t('Dislikes','title')],
'attendyes' => ['title' => t('Attending','title')], 'attendno' => ['title' => t('Not attending','title')], 'attendmaybe' => ['title' => t('Might attend','title')] 'attendyes' => ['title' => L10n::t('Attending','title')], 'attendno' => ['title' => L10n::t('Not attending','title')], 'attendmaybe' => ['title' => L10n::t('Might attend','title')]
]; ];
// array with html for each thread (parent+comments) // array with html for each thread (parent+comments)
@ -746,8 +746,8 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
$drop = [ $drop = [
'dropping' => $dropping, 'dropping' => $dropping,
'pagedrop' => $page_dropping, 'pagedrop' => $page_dropping,
'select' => t('Select'), 'select' => L10n::t('Select'),
'delete' => t('Delete'), 'delete' => L10n::t('Delete'),
]; ];
$star = false; $star = false;
@ -779,7 +779,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
'guid' => (($preview) ? 'Q0' : $item['guid']), 'guid' => (($preview) ? 'Q0' : $item['guid']),
'network' => $item['item_network'], 'network' => $item['item_network'],
'network_name' => ContactSelector::networkToName($item['item_network'], $profile_link), 'network_name' => ContactSelector::networkToName($item['item_network'], $profile_link),
'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'linktitle' => sprintf( L10n::t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'profile_url' => $profile_link, 'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item), 'item_photo_menu' => item_photo_menu($item),
'name' => $profile_name_e, 'name' => $profile_name_e,
@ -791,15 +791,15 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
'tags' => $tags_e, 'tags' => $tags_e,
'hashtags' => $hashtags_e, 'hashtags' => $hashtags_e,
'mentions' => $mentions_e, 'mentions' => $mentions_e,
'txt_cats' => t('Categories:'), 'txt_cats' => L10n::t('Categories:'),
'txt_folders' => t('Filed under:'), 'txt_folders' => L10n::t('Filed under:'),
'has_cats' => ((count($categories)) ? 'true' : ''), 'has_cats' => ((count($categories)) ? 'true' : ''),
'has_folders' => ((count($folders)) ? 'true' : ''), 'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories, 'categories' => $categories,
'folders' => $folders, 'folders' => $folders,
'text' => strip_tags($body_e), 'text' => strip_tags($body_e),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), 'ago' => (($item['app']) ? sprintf( L10n::t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])),
'location' => $location_e, 'location' => $location_e,
'indent' => '', 'indent' => '',
'owner_name' => $owner_name_e, 'owner_name' => $owner_name_e,
@ -814,9 +814,9 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
'like' => '', 'like' => '',
'dislike' => '', 'dislike' => '',
'comment' => '', 'comment' => '',
'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> t('View in context')]), 'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> L10n::t('View in context')]),
'previewing' => $previewing, 'previewing' => $previewing,
'wait' => t('Please wait'), 'wait' => L10n::t('Please wait'),
'thread_level' => 1, 'thread_level' => 1,
]; ];
@ -887,11 +887,11 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
'$baseurl' => System::baseUrl($ssl_state), '$baseurl' => System::baseUrl($ssl_state),
'$return_path' => $a->query_string, '$return_path' => $a->query_string,
'$live_update' => $live_update_div, '$live_update' => $live_update_div,
'$remove' => t('remove'), '$remove' => L10n::t('remove'),
'$mode' => $mode, '$mode' => $mode,
'$user' => $a->user, '$user' => $a->user,
'$threads' => $threads, '$threads' => $threads,
'$dropping' => ($page_dropping && Feature::isEnabled(local_user(), 'multi_delete') ? t('Delete Selected Items') : False), '$dropping' => ($page_dropping && Feature::isEnabled(local_user(), 'multi_delete') ? L10n::t('Delete Selected Items') : False),
]); ]);
return $o; return $o;
@ -1053,25 +1053,25 @@ function item_photo_menu($item) {
if (local_user()) { if (local_user()) {
$menu = [ $menu = [
t('Follow Thread') => $sub_link, L10n::t('Follow Thread') => $sub_link,
t('View Status') => $status_link, L10n::t('View Status') => $status_link,
t('View Profile') => $profile_link, L10n::t('View Profile') => $profile_link,
t('View Photos') => $photos_link, L10n::t('View Photos') => $photos_link,
t('Network Posts') => $posts_link, L10n::t('Network Posts') => $posts_link,
t('View Contact') => $contact_url, L10n::t('View Contact') => $contact_url,
t('Send PM') => $pm_url L10n::t('Send PM') => $pm_url
]; ];
if ($network == NETWORK_DFRN) { if ($network == NETWORK_DFRN) {
$menu[t("Poke")] = $poke_link; $menu[L10n::t("Poke")] = $poke_link;
} }
if ((($cid == 0) || ($rel == CONTACT_IS_FOLLOWER)) && if ((($cid == 0) || ($rel == CONTACT_IS_FOLLOWER)) &&
in_array($item['network'], [NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA])) { in_array($item['network'], [NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA])) {
$menu[t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']); $menu[L10n::t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
} }
} else { } else {
$menu = [t('View Profile') => $item['author-link']]; $menu = [L10n::t('View Profile') => $item['author-link']];
} }
$args = ['item' => $item, 'menu' => $menu]; $args = ['item' => $item, 'menu' => $menu];
@ -1187,19 +1187,19 @@ function format_like($cnt, array $arr, $type, $id) {
// list which show all likers // list which show all likers
switch ($type) { switch ($type) {
case 'like' : case 'like' :
$phrase = sprintf( t('%s likes this.'), $likers); $phrase = sprintf( L10n::t('%s likes this.'), $likers);
break; break;
case 'dislike' : case 'dislike' :
$phrase = sprintf( t('%s doesn\'t like this.'), $likers); $phrase = sprintf( L10n::t('%s doesn\'t like this.'), $likers);
break; break;
case 'attendyes' : case 'attendyes' :
$phrase = sprintf( t('%s attends.'), $likers); $phrase = sprintf( L10n::t('%s attends.'), $likers);
break; break;
case 'attendno' : case 'attendno' :
$phrase = sprintf( t('%s doesn\'t attend.'), $likers); $phrase = sprintf( L10n::t('%s doesn\'t attend.'), $likers);
break; break;
case 'attendmaybe' : case 'attendmaybe' :
$phrase = sprintf( t('%s attends maybe.'), $likers); $phrase = sprintf( L10n::t('%s attends maybe.'), $likers);
break; break;
} }
} }
@ -1210,13 +1210,13 @@ function format_like($cnt, array $arr, $type, $id) {
$arr = array_slice($arr, 0, MAX_LIKERS - 1); $arr = array_slice($arr, 0, MAX_LIKERS - 1);
} }
if ($total < MAX_LIKERS) { if ($total < MAX_LIKERS) {
$last = t('and') . ' ' . $arr[count($arr)-1]; $last = L10n::t('and') . ' ' . $arr[count($arr)-1];
$arr2 = array_slice($arr, 0, -1); $arr2 = array_slice($arr, 0, -1);
$str = implode(', ', $arr2) . ' ' . $last; $str = implode(', ', $arr2) . ' ' . $last;
} }
if ($total >= MAX_LIKERS) { if ($total >= MAX_LIKERS) {
$str = implode(', ', $arr); $str = implode(', ', $arr);
$str .= sprintf( t(', and %d other people'), $total - MAX_LIKERS ); $str .= sprintf( L10n::t(', and %d other people'), $total - MAX_LIKERS );
} }
$likers = $str; $likers = $str;
@ -1225,24 +1225,24 @@ function format_like($cnt, array $arr, $type, $id) {
switch ($type) { switch ($type) {
case 'like': case 'like':
$phrase = sprintf( t('<span %1$s>%2$d people</span> like this'), $spanatts, $cnt); $phrase = sprintf( L10n::t('<span %1$s>%2$d people</span> like this'), $spanatts, $cnt);
$explikers = sprintf( t('%s like this.'), $likers); $explikers = sprintf( L10n::t('%s like this.'), $likers);
break; break;
case 'dislike': case 'dislike':
$phrase = sprintf( t('<span %1$s>%2$d people</span> don\'t like this'), $spanatts, $cnt); $phrase = sprintf( L10n::t('<span %1$s>%2$d people</span> don\'t like this'), $spanatts, $cnt);
$explikers = sprintf( t('%s don\'t like this.'), $likers); $explikers = sprintf( L10n::t('%s don\'t like this.'), $likers);
break; break;
case 'attendyes': case 'attendyes':
$phrase = sprintf( t('<span %1$s>%2$d people</span> attend'), $spanatts, $cnt); $phrase = sprintf( L10n::t('<span %1$s>%2$d people</span> attend'), $spanatts, $cnt);
$explikers = sprintf( t('%s attend.'), $likers); $explikers = sprintf( L10n::t('%s attend.'), $likers);
break; break;
case 'attendno': case 'attendno':
$phrase = sprintf( t('<span %1$s>%2$d people</span> don\'t attend'), $spanatts, $cnt); $phrase = sprintf( L10n::t('<span %1$s>%2$d people</span> don\'t attend'), $spanatts, $cnt);
$explikers = sprintf( t('%s don\'t attend.'), $likers); $explikers = sprintf( L10n::t('%s don\'t attend.'), $likers);
break; break;
case 'attendmaybe': case 'attendmaybe':
$phrase = sprintf( t('<span %1$s>%2$d people</span> attend maybe'), $spanatts, $cnt); $phrase = sprintf( L10n::t('<span %1$s>%2$d people</span> attend maybe'), $spanatts, $cnt);
$explikers = sprintf( t('%s anttend maybe.'), $likers); $explikers = sprintf( L10n::t('%s anttend maybe.'), $likers);
break; break;
} }
@ -1272,14 +1272,14 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$baseurl' => System::baseUrl(true), '$baseurl' => System::baseUrl(true),
'$geotag' => $geotag, '$geotag' => $geotag,
'$nickname' => $x['nickname'], '$nickname' => $x['nickname'],
'$ispublic' => t('Visible to <strong>everybody</strong>'), '$ispublic' => L10n::t('Visible to <strong>everybody</strong>'),
'$linkurl' => t('Please enter a link URL:'), '$linkurl' => L10n::t('Please enter a link URL:'),
'$vidurl' => t("Please enter a video link/URL:"), '$vidurl' => L10n::t("Please enter a video link/URL:"),
'$audurl' => t("Please enter an audio link/URL:"), '$audurl' => L10n::t("Please enter an audio link/URL:"),
'$term' => t('Tag term:'), '$term' => L10n::t('Tag term:'),
'$fileas' => t('Save to Folder:'), '$fileas' => L10n::t('Save to Folder:'),
'$whereareu' => t('Where are you right now?'), '$whereareu' => L10n::t('Where are you right now?'),
'$delitems' => t('Delete item(s)?') '$delitems' => L10n::t('Delete item(s)?')
]); ]);
$tpl = get_markup_template('jot-end.tpl'); $tpl = get_markup_template('jot-end.tpl');
@ -1288,13 +1288,13 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$baseurl' => System::baseUrl(true), '$baseurl' => System::baseUrl(true),
'$geotag' => $geotag, '$geotag' => $geotag,
'$nickname' => $x['nickname'], '$nickname' => $x['nickname'],
'$ispublic' => t('Visible to <strong>everybody</strong>'), '$ispublic' => L10n::t('Visible to <strong>everybody</strong>'),
'$linkurl' => t('Please enter a link URL:'), '$linkurl' => L10n::t('Please enter a link URL:'),
'$vidurl' => t("Please enter a video link/URL:"), '$vidurl' => L10n::t("Please enter a video link/URL:"),
'$audurl' => t("Please enter an audio link/URL:"), '$audurl' => L10n::t("Please enter an audio link/URL:"),
'$term' => t('Tag term:'), '$term' => L10n::t('Tag term:'),
'$fileas' => t('Save to Folder:'), '$fileas' => L10n::t('Save to Folder:'),
'$whereareu' => t('Where are you right now?') '$whereareu' => L10n::t('Where are you right now?')
]); ]);
$jotplugins = ''; $jotplugins = '';
@ -1328,28 +1328,28 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
$o .= replace_macros($tpl,[ $o .= replace_macros($tpl,[
'$return_path' => $query_str, '$return_path' => $query_str,
'$action' => 'item', '$action' => 'item',
'$share' => defaults($x, 'button', t('Share')), '$share' => defaults($x, 'button', L10n::t('Share')),
'$upload' => t('Upload photo'), '$upload' => L10n::t('Upload photo'),
'$shortupload' => t('upload photo'), '$shortupload' => L10n::t('upload photo'),
'$attach' => t('Attach file'), '$attach' => L10n::t('Attach file'),
'$shortattach' => t('attach file'), '$shortattach' => L10n::t('attach file'),
'$weblink' => t('Insert web link'), '$weblink' => L10n::t('Insert web link'),
'$shortweblink' => t('web link'), '$shortweblink' => L10n::t('web link'),
'$video' => t('Insert video link'), '$video' => L10n::t('Insert video link'),
'$shortvideo' => t('video link'), '$shortvideo' => L10n::t('video link'),
'$audio' => t('Insert audio link'), '$audio' => L10n::t('Insert audio link'),
'$shortaudio' => t('audio link'), '$shortaudio' => L10n::t('audio link'),
'$setloc' => t('Set your location'), '$setloc' => L10n::t('Set your location'),
'$shortsetloc' => t('set location'), '$shortsetloc' => L10n::t('set location'),
'$noloc' => t('Clear browser location'), '$noloc' => L10n::t('Clear browser location'),
'$shortnoloc' => t('clear location'), '$shortnoloc' => L10n::t('clear location'),
'$title' => defaults($x, 'title', ''), '$title' => defaults($x, 'title', ''),
'$placeholdertitle' => t('Set title'), '$placeholdertitle' => L10n::t('Set title'),
'$category' => defaults($x, 'category', ''), '$category' => defaults($x, 'category', ''),
'$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? t('Categories (comma-separated list)') : '', '$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? L10n::t('Categories (comma-separated list)') : '',
'$wait' => t('Please wait'), '$wait' => L10n::t('Please wait'),
'$permset' => t('Permission settings'), '$permset' => L10n::t('Permission settings'),
'$shortpermset' => t('permissions'), '$shortpermset' => L10n::t('permissions'),
'$ptyp' => $notes_cid ? 'note' : 'wall', '$ptyp' => $notes_cid ? 'note' : 'wall',
'$content' => defaults($x, 'content', ''), '$content' => defaults($x, 'content', ''),
'$post_id' => defaults($x, 'post_id', ''), '$post_id' => defaults($x, 'post_id', ''),
@ -1357,28 +1357,28 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$defloc' => $x['default_location'], '$defloc' => $x['default_location'],
'$visitor' => $x['visitor'], '$visitor' => $x['visitor'],
'$pvisit' => $notes_cid ? 'none' : $x['visitor'], '$pvisit' => $notes_cid ? 'none' : $x['visitor'],
'$public' => t('Public post'), '$public' => L10n::t('Public post'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$bang' => $x['bang'], '$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'], '$profile_uid' => $x['profile_uid'],
'$preview' => Feature::isEnabled($x['profile_uid'], 'preview') ? t('Preview') : '', '$preview' => Feature::isEnabled($x['profile_uid'], 'preview') ? L10n::t('Preview') : '',
'$jotplugins' => $jotplugins, '$jotplugins' => $jotplugins,
'$notes_cid' => $notes_cid, '$notes_cid' => $notes_cid,
'$sourceapp' => t($a->sourcename), '$sourceapp' => L10n::t($a->sourcename),
'$cancel' => t('Cancel'), '$cancel' => L10n::t('Cancel'),
'$rand_num' => random_digits(12), '$rand_num' => random_digits(12),
// ACL permissions box // ACL permissions box
'$acl' => $x['acl'], '$acl' => $x['acl'],
'$group_perms' => t('Post to Groups'), '$group_perms' => L10n::t('Post to Groups'),
'$contact_perms' => t('Post to Contacts'), '$contact_perms' => L10n::t('Post to Contacts'),
'$private' => t('Private post'), '$private' => L10n::t('Private post'),
'$is_private' => $private_post, '$is_private' => $private_post,
'$public_link' => $public_post_link, '$public_link' => $public_post_link,
//jot nav tab (used in some themes) //jot nav tab (used in some themes)
'$message' => t('Message'), '$message' => L10n::t('Message'),
'$browser' => t('Browser'), '$browser' => L10n::t('Browser'),
]); ]);
@ -1645,7 +1645,7 @@ function get_responses($conv_responses, $response_verbs, $ob, $item) {
if (count($ret[$v]['list']) > MAX_LIKERS) { if (count($ret[$v]['list']) > MAX_LIKERS) {
$ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS); $ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS);
array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-' array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-'
. (($ob) ? $ob->getId() : $item['id']) . '"><b>' . t('View all') . '</b></a>'); . (($ob) ? $ob->getId() : $item['id']) . '"><b>' . L10n::t('View all') . '</b></a>');
} else { } else {
$ret[$v]['list_part'] = ''; $ret[$v]['list_part'] = '';
} }

View File

@ -5,6 +5,7 @@
*/ */
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -276,7 +277,7 @@ function datetimesel($min, $max, $default, $label, $id = 'datetimepicker', $pick
// First day of the week (0 = Sunday) // First day of the week (0 = Sunday)
$firstDay = PConfig::get(local_user(), 'system', 'first_day_of_week', 0); $firstDay = PConfig::get(local_user(), 'system', 'first_day_of_week', 0);
$lang = substr(get_browser_language(), 0, 2); $lang = substr(L10n::getBrowserLanguage(), 0, 2);
// Check if the detected language is supported by the picker // Check if the detected language is supported by the picker
if (!in_array($lang, ["ar", "ro", "id", "bg", "fa", "ru", "uk", "en", "el", "de", "nl", "tr", "fr", "es", "th", "pl", "pt", "ch", "se", "kr", "it", "da", "no", "ja", "vi", "sl", "cs", "hu"])) { if (!in_array($lang, ["ar", "ro", "id", "bg", "fa", "ru", "uk", "en", "el", "de", "nl", "tr", "fr", "es", "th", "pl", "pt", "ch", "se", "kr", "it", "da", "no", "ja", "vi", "sl", "cs", "hu"])) {

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon; use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Util\Emailer; use Friendica\Util\Emailer;
@ -26,7 +27,7 @@ function notification($params)
$a = get_app(); $a = get_app();
// from here on everything is in the recipients language // from here on everything is in the recipients language
push_lang($params['language']); L10n::pushLang($params['language']);
$banner = t('Friendica Notification'); $banner = t('Friendica Notification');
$product = FRIENDICA_PLATFORM; $product = FRIENDICA_PLATFORM;
@ -123,7 +124,7 @@ function notification($params)
intval($params['uid']) intval($params['uid'])
); );
if ($p && count($p)) { if ($p && count($p)) {
pop_lang(); L10n::popLang();
return; return;
} }
@ -444,7 +445,7 @@ function notification($params)
Addon::callHooks('enotify_store', $datarray); Addon::callHooks('enotify_store', $datarray);
if ($datarray['abort']) { if ($datarray['abort']) {
pop_lang(); L10n::popLang();
return False; return False;
} }
@ -473,7 +474,7 @@ function notification($params)
if ($r) { if ($r) {
$notify_id = $r[0]['id']; $notify_id = $r[0]['id'];
} else { } else {
pop_lang(); L10n::popLang();
return False; return False;
} }
@ -492,8 +493,8 @@ function notification($params)
// only continue on if we stored the first one // only continue on if we stored the first one
if ($notify_id != $p[0]['id']) { if ($notify_id != $p[0]['id']) {
pop_lang(); L10n::popLang();
return False; return false;
} }
} }

View File

@ -15,6 +15,7 @@ use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Theme; use Friendica\Core\Theme;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\Profile; use Friendica\Model\Profile;
@ -83,9 +84,9 @@ if (!$install) {
$maintenance = Config::get('system', 'maintenance'); $maintenance = Config::get('system', 'maintenance');
} }
$lang = get_browser_language(); $lang = L10n::getBrowserLanguage();
load_translation_table($lang); L10n::loadTranslationTable($lang);
/** /**
* Important stuff we always need to do. * Important stuff we always need to do.
@ -121,7 +122,7 @@ if (x($_SESSION, 'authenticated') && !x($_SESSION, 'language')) {
if ((x($_SESSION, 'language')) && ($_SESSION['language'] !== $lang)) { if ((x($_SESSION, 'language')) && ($_SESSION['language'] !== $lang)) {
$lang = $_SESSION['language']; $lang = $_SESSION['language'];
load_translation_table($lang); L10n::loadTranslationTable($lang);
} }
if ((x($_GET, 'zrl')) && (!$install && !$maintenance)) { if ((x($_GET, 'zrl')) && (!$install && !$maintenance)) {

View File

@ -1,8 +1,11 @@
<?php <?php
/**
* @file mod/register.php
*/
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon; use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -58,7 +61,7 @@ function register_post(App $a)
$arr['blocked'] = $blocked; $arr['blocked'] = $blocked;
$arr['verified'] = $verified; $arr['verified'] = $verified;
$arr['language'] = get_browser_language(); $arr['language'] = L10n::getBrowserLanguage();
try { try {
$result = User::create($arr); $result = User::create($arr);

View File

@ -1,7 +1,10 @@
<?php <?php
/**
* @file mod/regmod.php
*/
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -50,7 +53,7 @@ function user_allow($hash)
} }
} }
push_lang($register[0]['language']); L10n::pushLang($register[0]['language']);
User::sendRegisterOpenEmail( User::sendRegisterOpenEmail(
$user[0]['email'], $user[0]['email'],
@ -59,7 +62,7 @@ function user_allow($hash)
$user[0]['username'], $user[0]['username'],
$register[0]['password']); $register[0]['password']);
pop_lang(); L10n::popLang();
if ($res) { if ($res) {
info(t('Account approved.') . EOL); info(t('Account approved.') . EOL);

View File

@ -18,22 +18,22 @@ class L10n
/** /**
* @brief get the prefered language from the HTTP_ACCEPT_LANGUAGE header * @brief get the prefered language from the HTTP_ACCEPT_LANGUAGE header
*/ */
function get_browser_language() { public static function getBrowserLanguage()
{
$lang_list = []; $lang_list = [];
if (x($_SERVER, 'HTTP_ACCEPT_LANGUAGE')) { if (x($_SERVER, 'HTTP_ACCEPT_LANGUAGE')) {
// break up string into pieces (languages and q factors) // break up string into pieces (languages and q factors)
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
if (count($lang_parse[1])) { if (count($lang_parse[1])) {
// go through the list of prefered languages and add a generic language // go through the list of prefered languages and add a generic language
// for sub-linguas (e.g. de-ch will add de) if not already in array // for sub-linguas (e.g. de-ch will add de) if not already in array
for ($i = 0; $i < count($lang_parse[1]); $i++) { for ($i = 0; $i < count($lang_parse[1]); $i++) {
$lang_list[] = strtolower($lang_parse[1][$i]); $lang_list[] = strtolower($lang_parse[1][$i]);
if (strlen($lang_parse[1][$i])>3 ) { if (strlen($lang_parse[1][$i])>3) {
$dashpos = strpos($lang_parse[1][$i], '-'); $dashpos = strpos($lang_parse[1][$i], '-');
if (!in_array(substr($lang_parse[1][$i], 0, $dashpos), $lang_list ) ) { if (!in_array(substr($lang_parse[1][$i], 0, $dashpos), $lang_list)) {
$lang_list[] = strtolower(substr($lang_parse[1][$i], 0, $dashpos)); $lang_list[] = strtolower(substr($lang_parse[1][$i], 0, $dashpos));
} }
} }
@ -56,8 +56,11 @@ class L10n
return Config::get('system', 'language', 'en'); return Config::get('system', 'language', 'en');
} }
/**
function push_lang($language) { * @param string $language language
*/
public static function pushLang($language)
{
global $lang, $a; global $lang, $a;
$a->langsave = $lang; $a->langsave = $lang;
@ -70,11 +73,15 @@ class L10n
$a->stringsave = $a->strings; $a->stringsave = $a->strings;
} }
$a->strings = []; $a->strings = [];
load_translation_table($language); self::loadTranslationTable($language);
$lang = $language; $lang = $language;
} }
function pop_lang() { /**
* Pop language off the top of the stack
*/
public static function popLang()
{
global $lang, $a; global $lang, $a;
if ($lang === $a->langsave) { if ($lang === $a->langsave) {
@ -90,22 +97,21 @@ class L10n
$lang = $a->langsave; $lang = $a->langsave;
} }
// l
/** /**
* load string translation table for alternate language * load string translation table for alternate language
* *
* first plugin strings are loaded, then globals * first addon strings are loaded, then globals
* *
* @param string $lang language code to load * @param string $lang language code to load
*/ */
function load_translation_table($lang) { public static function loadTranslationTable($lang)
{
$a = get_app(); $a = get_app();
$a->strings = []; $a->strings = [];
// load enabled plugins strings // load enabled addons strings
$plugins = dba::select('addon', ['name'], ['installed' => true]); $addons = dba::select('addon', ['name'], ['installed' => true]);
while ($p = dba::fetch($plugins)) { while ($p = dba::fetch($addons)) {
$name = $p['name']; $name = $p['name'];
if (file_exists("addon/$name/lang/$lang/strings.php")) { if (file_exists("addon/$name/lang/$lang/strings.php")) {
include("addon/$name/lang/$lang/strings.php"); include("addon/$name/lang/$lang/strings.php");
@ -115,7 +121,6 @@ class L10n
if (file_exists("view/lang/$lang/strings.php")) { if (file_exists("view/lang/$lang/strings.php")) {
include("view/lang/$lang/strings.php"); include("view/lang/$lang/strings.php");
} }
} }
/** /**
@ -133,7 +138,7 @@ class L10n
* @param string $s * @param string $s
* @return string * @return string
*/ */
function t($s) public static function t($s)
{ {
$a = get_app(); $a = get_app();

View File

@ -5,6 +5,7 @@
namespace Friendica\Database; namespace Friendica\Database;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use dba; use dba;
@ -68,7 +69,7 @@ class DBStructure {
// every admin could had different language // every admin could had different language
foreach ($adminlist as $admin) { foreach ($adminlist as $admin) {
$lang = (($admin['language'])?$admin['language']:'en'); $lang = (($admin['language'])?$admin['language']:'en');
push_lang($lang); L10n::pushLang($lang);
$preamble = deindent(t(" $preamble = deindent(t("
The friendica developers released update %s recently, The friendica developers released update %s recently,

View File

@ -1933,11 +1933,11 @@ class Diaspora
*/ */
private static function constructLikeBody($contact, $parent_item, $guid) private static function constructLikeBody($contact, $parent_item, $guid)
{ {
$bodyverb = t('%1$s likes %2$s\'s %3$s'); $bodyverb = L10n::t('%1$s likes %2$s\'s %3$s');
$ulink = "[url=".$contact["url"]."]".$contact["name"]."[/url]"; $ulink = "[url=".$contact["url"]."]".$contact["name"]."[/url]";
$alink = "[url=".$parent_item["author-link"]."]".$parent_item["author-name"]."[/url]"; $alink = "[url=".$parent_item["author-link"]."]".$parent_item["author-name"]."[/url]";
$plink = "[url=".System::baseUrl()."/display/".urlencode($guid)."]".t("status")."[/url]"; $plink = "[url=".System::baseUrl()."/display/".urlencode($guid)."]".L10n::t("status")."[/url]";
return sprintf($bodyverb, $ulink, $alink, $plink); return sprintf($bodyverb, $ulink, $alink, $plink);
} }
@ -2405,7 +2405,7 @@ class Diaspora
$A = "[url=".$self[0]["url"]."]".$self[0]["name"]."[/url]"; $A = "[url=".$self[0]["url"]."]".$self[0]["name"]."[/url]";
$B = "[url=".$contact["url"]."]".$contact["name"]."[/url]"; $B = "[url=".$contact["url"]."]".$contact["name"]."[/url]";
$BPhoto = "[url=".$contact["url"]."][img]".$contact["thumb"]."[/img][/url]"; $BPhoto = "[url=".$contact["url"]."][img]".$contact["thumb"]."[/img][/url]";
$arr["body"] = sprintf(t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto; $arr["body"] = sprintf(L10n::t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto;
$arr["object"] = self::constructNewFriendObject($contact); $arr["object"] = self::constructNewFriendObject($contact);
@ -2575,7 +2575,7 @@ class Diaspora
intval($contact_record["id"]), intval($contact_record["id"]),
0, 0,
0, 0,
dbesc(t("Sharing notification from Diaspora network")), dbesc(L10n::t("Sharing notification from Diaspora network")),
dbesc($hash), dbesc($hash),
dbesc(datetime_convert()) dbesc(datetime_convert())
); );
@ -3677,7 +3677,7 @@ class Diaspora
if ($item["attach"]) { if ($item["attach"]) {
$cnt = preg_match_all('/href=\"(.*?)\"(.*?)title=\"(.*?)\"/ism', $item["attach"], $matches, PREG_SET_ORDER); $cnt = preg_match_all('/href=\"(.*?)\"(.*?)title=\"(.*?)\"/ism', $item["attach"], $matches, PREG_SET_ORDER);
if (cnt) { if (cnt) {
$body .= "\n".t("Attachments:")."\n"; $body .= "\n".L10n::t("Attachments:")."\n";
foreach ($matches as $mtch) { foreach ($matches as $mtch) {
$body .= "[".$mtch[3]."](".$mtch[1].")\n"; $body .= "[".$mtch[3]."](".$mtch[1].")\n";
} }

View File

@ -1,9 +1,13 @@
<?php <?php
/**
* @file util/maintenance.php
*/
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
require_once("boot.php"); require_once 'boot.php';
require_once 'include/dba.php';
if (empty($a)) { if (empty($a)) {
$a = new App(dirname(__DIR__)); $a = new App(dirname(__DIR__));
@ -11,10 +15,9 @@ if (empty($a)) {
@include(".htconfig.php"); @include(".htconfig.php");
$lang = get_browser_language(); $lang = L10n::getBrowserLanguage();
load_translation_table($lang); L10n::loadTranslationTable($lang);
require_once("include/dba.php");
dba::connect($db_host, $db_user, $db_pass, $db_data, false); dba::connect($db_host, $db_user, $db_pass, $db_data, false);
unset($db_host, $db_user, $db_pass, $db_data); unset($db_host, $db_user, $db_pass, $db_data);