[Plugins] Incorporated GNUsocialExtendedProfile as part of ExtendedProfile

Also improved a lot of the plugin and made things in a way it would make sense
This commit is contained in:
Diogo Cordeiro 2019-08-09 15:22:55 +01:00 committed by Diogo Peralta Cordeiro
parent c71fa9099f
commit fd1a7a5e68
153 changed files with 2187 additions and 3530 deletions

View File

@ -61,8 +61,8 @@ class Widget
* Prepare the widget for use * Prepare the widget for use
* *
* @param Action $out output helper, defaults to null * @param Action $out output helper, defaults to null
* @param array $widgetOpts
*/ */
function __construct(Action $out = null, array $widgetOpts = []) function __construct(Action $out = null, array $widgetOpts = [])
{ {
$this->out = $out; $this->out = $out;

View File

@ -1,46 +1,50 @@
<?php <?php
/* // This file is part of GNU social - https://www.gnu.org/software/social
* StatusNet - the distributed open-source microblogging tool //
* Copyright (C) 2011, StatusNet, Inc. // GNU social is free software: you can redistribute it and/or modify
* // it under the terms of the GNU Affero General Public License as published by
* This program is free software: you can redistribute it and/or modify // the Free Software Foundation, either version 3 of the License, or
* it under the terms of the GNU Affero General Public License as published by // (at your option) any later version.
* the Free Software Foundation, either version 3 of the License, or //
* (at your option) any later version. // GNU social is distributed in the hope that it will be useful,
* // but WITHOUT ANY WARRANTY; without even the implied warranty of
* This program is distributed in the hope that it will be useful, // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* but WITHOUT ANY WARRANTY; without even the implied warranty of // GNU Affero General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
* GNU Affero General Public License for more details. // You should have received a copy of the GNU Affero General Public License
* // along with GNU social. If not, see <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('STATUSNET')) {
exit(1);
}
/** /**
* Extra profile bio-like fields * Extra profile bio-like fields and allows administrators to define
* additional profile fields for the users of a GNU social installation.
* *
* @package ExtendedProfilePlugin * @category Widget
* @maintainer Brion Vibber <brion@status.net> * @package GNU social
* @author Brion Vibber <brion@status.net>
* @author Max Shinn <trombonechamp@gmail.com>
* @author Diogo Cordeiro <diogo@fc.up.pt>
* @copyright 2011-2019 Free Software Foundation, Inc http://www.fsf.org
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
*/ */
defined('GNUSOCIAL') || die();
include_once __DIR__ . '/lib/profiletools.php';
class ExtendedProfilePlugin extends Plugin class ExtendedProfilePlugin extends Plugin
{ {
const PLUGIN_VERSION = '2.0.0'; const PLUGIN_VERSION = '3.0.0';
public function onPluginVersion(array &$versions): bool public function onPluginVersion(array &$versions): bool
{ {
$versions[] = array( $versions[] = [
'name' => 'ExtendedProfile', 'name' => 'ExtendedProfile',
'version' => self::PLUGIN_VERSION, 'version' => self::PLUGIN_VERSION,
'author' => 'Brion Vibber, Samantha Doherty, Zach Copley', 'author' => 'Brion Vibber, Samantha Doherty, Zach Copley, Max Shinn, Diogo Cordeiro',
'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/ExtendedProfile', 'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/ExtendedProfile',
// TRANS: Plugin description. // TRANS: Module description.
'rawdescription' => _m('UI extensions for additional profile fields.') 'rawdescription' => _m('UI extensions for additional profile fields.')
); ];
return true; return true;
} }
@ -52,41 +56,160 @@ class ExtendedProfilePlugin extends Plugin
* *
* @param URLMapper $m URL mapper * @param URLMapper $m URL mapper
* *
* @return boolean hook return * @return bool hook return
* @throws Exception
*/ */
public function onStartInitializeRouter(URLMapper $m) public function onStartInitializeRouter(URLMapper $m)
{ {
$m->connect( $m->connect(
':nickname/detail', ':nickname/detail',
array('action' => 'profiledetail'), ['action' => 'profiledetail'],
array('nickname' => Nickname::DISPLAY_FMT) ['nickname' => Nickname::DISPLAY_FMT]
); );
$m->connect( $m->connect(
'/settings/profile/finduser', '/settings/profile/finduser',
array('action' => 'Userautocomplete') ['action' => 'Userautocomplete']
); );
$m->connect( $m->connect(
'settings/profile/detail', 'settings/profile/detail',
array('action' => 'profiledetailsettings') ['action' => 'profiledetailsettings']
);
$m->connect(
'admin/profilefields',
['action' => 'profilefieldsAdminPanel']
); );
return true; return true;
} }
function onCheckSchema() public function onCheckSchema()
{ {
$schema = Schema::get(); $schema = Schema::get();
$schema->ensureTable('profile_detail', Profile_detail::schemaDef()); $schema->ensureTable('profile_detail', Profile_detail::schemaDef());
$schema->ensureTable('gnusocialprofileextensionfield', GNUsocialProfileExtensionField::schemaDef());
$schema->ensureTable('gnusocialprofileextensionresponse', GNUsocialProfileExtensionResponse::schemaDef());
return true;
}
public function onEndShowAccountProfileBlock(HTMLOutputter $out, Profile $profile)
{
$user = User::getKV('id', $profile->id);
if ($user) {
$url = common_local_url('profiledetail', ['nickname' => $user->nickname]);
// TRANS: Link text on user profile page leading to extended profile page.
$out->element('a', ['href' => $url, 'class' => 'profiledetail'], _m('More details...'));
}
}
/**
* Menu item for personal subscriptions/groups area
*
* @param Action $action action being executed
*
* @return bool hook return
* @throws Exception
*/
public function onEndAccountSettingsNav(Action $action)
{
$action_name = $action->trimmed('action');
$action->menuItem(
common_local_url('profiledetailsettings'),
// TRANS: Extended profile plugin menu item on user settings page.
_m('MENU', 'Full Profile'),
// TRANS: Extended profile plugin tooltip for user settings menu item.
_m('Change your extended profile settings'),
$action_name === 'profiledetailsettings'
);
return true; return true;
} }
function onEndShowAccountProfileBlock(HTMLOutputter $out, Profile $profile) { /*public function onEndProfileFormData(Action $action): bool
$user = User::getKV('id', $profile->id); {
if ($user) { $fields = GNUsocialProfileExtensionField::allFields();
$url = common_local_url('profiledetail', array('nickname' => $user->nickname)); $user = common_current_user();
// TRANS: Link text on user profile page leading to extended profile page. $profile = $user->getProfile();
$out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...')); gnusocial_profile_merge($profile);
foreach ($fields as $field) {
$action->elementStart('li');
$fieldname = $field->systemname;
if ($field->type == 'str') {
$action->input(
$fieldname,
$field->title,
($action->arg($fieldname)) ? $action->arg($fieldname) : $profile->$fieldname,
$field->description
);
} elseif ($field->type == 'text') {
$action->textarea(
$fieldname,
$field->title,
($action->arg($fieldname)) ? $action->arg($fieldname) : $profile->$fieldname,
$field->description
);
}
$action->elementEnd('li');
} }
return true;
}
public function onEndProfileSaveForm(Action $action): bool
{
$fields = GNUsocialProfileExtensionField::allFields();
$user = common_current_user();
$profile = $user->getProfile();
foreach ($fields as $field) {
$val = $action->trimmed($field->systemname);
$response = new GNUsocialProfileExtensionResponse();
$response->profile_id = $profile->id;
$response->extension_id = $field->id;
if ($response->find()) {
$response->fetch();
$response->value = $val;
if ($response->validate()) {
if (empty($val)) {
$response->delete();
} else {
$response->update();
}
}
} else {
$response->value = $val;
$response->insert();
}
}
return true;
}*/
public function onEndShowStyles(Action $action): bool
{
$action->cssLink('/plugins/ExtendedProfile/css/profiledetail.css');
return true;
}
public function onEndShowScripts(Action $action): bool
{
$action->script('plugins/ExtendedProfile/js/profiledetail.js');
return true;
}
public function onEndAdminPanelNav(AdminPanelNav $nav): bool
{
if (AdminPanelAction::canAdmin('profilefields')) {
$action_name = $nav->action->trimmed('action');
$nav->out->menuItem(
'/admin/profilefields',
_m('Profile Fields'),
_m('Custom profile fields'),
$action_name == 'profilefieldsadminpanel',
'nav_profilefields_admin_panel'
);
}
return true;
} }
} }

View File

@ -6,9 +6,16 @@ The ExtendedProfile plugin adds additional profile fields such as:
* Work experience * Work experience
* Education * Education
And allows administrators to define additional profile fields for the
users of a GNU social installation.
Installation Installation
============ ============
add "addPlugin('ExtendedProfile');" add
addPlugin('ExtendedProfile');
$config['admin']['panels'][] = 'profilefields';
to the bottom of your config.php to the bottom of your config.php
Note: This plugin is enabled by default on private instances. Note: This plugin is enabled by default on private instances.
@ -17,7 +24,3 @@ Settings
======== ========
none none
Example
=======
addPlugin('ExtendedProfile');

View File

@ -17,38 +17,44 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
if (!defined('GNUSOCIAL')) { exit(1); } if (!defined('GNUSOCIAL')) {
exit(1);
}
class ProfileDetailAction extends ShowstreamAction class ProfileDetailAction extends ShowstreamAction
{ {
function isReadOnly($args) public function isReadOnly($args)
{ {
return true; return true;
} }
function title() public function title()
{ {
return $this->target->getFancyName(); return $this->target->getFancyName();
} }
function showStylesheets() { public function showStylesheets()
{
parent::showStylesheets(); parent::showStylesheets();
$this->cssLink('plugins/ExtendedProfile/css/profiledetail.css'); $this->cssLink('plugins/ExtendedProfile/css/profiledetail.css');
return true; return true;
} }
function showContent() public function showContent()
{ {
$cur = common_current_user(); $cur = common_current_user();
if ($this->scoped instanceof Profile && $this->scoped->sameAs($this->target)) { if ($this->scoped instanceof Profile && $this->scoped->sameAs($this->target)) {
$this->elementStart('div', 'entity_actions'); $this->elementStart('div', 'entity_actions');
$this->elementStart('ul'); $this->elementStart('ul');
$this->elementStart('li', 'entity_edit'); $this->elementStart('li', 'entity_edit');
$this->element('a', array('href' => common_local_url('profiledetailsettings'), $this->element(
// TRANS: Link title for link on user profile. 'a',
'title' => _m('Edit extended profile settings')), array('href' => common_local_url('profiledetailsettings'),
// TRANS: Link text for link on user profile. // TRANS: Link title for link on user profile.
_m('Edit')); 'title' => _m('Edit extended profile settings')),
// TRANS: Link text for link on user profile.
_m('Edit')
);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->elementEnd('div'); $this->elementEnd('div');

View File

@ -17,23 +17,27 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
if (!defined('GNUSOCIAL')) { exit(1); } if (!defined('GNUSOCIAL')) {
exit(1);
}
class ProfileDetailSettingsAction extends ProfileSettingsAction class ProfileDetailSettingsAction extends ProfileSettingsAction
{ {
function title() public function title()
{ {
// TRANS: Title for extended profile settings. // TRANS: Title for extended profile settings.
return _m('Extended profile settings'); return _m('Extended profile settings');
} }
function showStylesheets() { public function showStylesheets()
{
parent::showStylesheets(); parent::showStylesheets();
$this->cssLink('plugins/ExtendedProfile/css/profiledetail.css'); $this->cssLink('plugins/ExtendedProfile/css/profiledetail.css');
return true; return true;
} }
function showScripts() { public function showScripts()
{
parent::showScripts(); parent::showScripts();
$this->script('plugins/ExtendedProfile/js/profiledetail.js'); $this->script('plugins/ExtendedProfile/js/profiledetail.js');
return true; return true;
@ -49,7 +53,7 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
throw new ClientException(_m('Unexpected form submission.')); throw new ClientException(_m('Unexpected form submission.'));
} }
function showContent() public function showContent()
{ {
$widget = new ExtendedProfileWidget( $widget = new ExtendedProfileWidget(
$this, $this,
@ -59,14 +63,14 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$widget->show(); $widget->show();
} }
function saveDetails() public function saveDetails()
{ {
common_debug(var_export($_POST, true)); common_debug(var_export($_POST, true));
$this->saveStandardProfileDetails(); $this->saveStandardProfileDetails();
$simpleFieldNames = array('title', 'spouse', 'kids', 'manager'); $simpleFieldNames = array('title', 'spouse', 'kids', 'manager');
$dateFieldNames = array('birthday'); $dateFieldNames = array('birthday');
foreach ($simpleFieldNames as $name) { foreach ($simpleFieldNames as $name) {
$value = $this->trimmed('extprofile-' . $name); $value = $this->trimmed('extprofile-' . $name);
@ -92,19 +96,19 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$this->saveWebsites(); $this->saveWebsites();
$this->saveExperiences(); $this->saveExperiences();
$this->saveEducations(); $this->saveEducations();
$this->saveCustomFields($this);
// TRANS: Success message after saving extended profile details. // TRANS: Success message after saving extended profile details.
return _m('Details saved.'); return _m('Details saved.');
} }
function parseDate($fieldname, $datestr, $required = false) public function parseDate($fieldname, $datestr, $required = false)
{ {
if (empty($datestr)) { if (empty($datestr)) {
if ($required) { if ($required) {
$msg = sprintf( $msg = sprintf(
// TRANS: Exception thrown when no date was entered in a required date field. // TRANS: Exception thrown when no date was entered in a required date field.
// TRANS: %s is the field name. // TRANS: %s is the field name.
_m('You must supply a date for "%s".'), _m('You must supply a date for "%s".'),
$fieldname $fieldname
); );
@ -115,8 +119,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
if ($ts === false) { if ($ts === false) {
throw new Exception( throw new Exception(
sprintf( sprintf(
// TRANS: Exception thrown on incorrect data input. // TRANS: Exception thrown on incorrect data input.
// TRANS: %1$s is a field name, %2$s is the incorrect input. // TRANS: %1$s is a field name, %2$s is the incorrect input.
_m('Invalid date entered for "%1$s": %2$s.'), _m('Invalid date entered for "%1$s": %2$s.'),
$fieldname, $fieldname,
$ts $ts
@ -128,11 +132,12 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
return null; return null;
} }
function savePhoneNumbers() { public function savePhoneNumbers()
{
$phones = $this->findPhoneNumbers(); $phones = $this->findPhoneNumbers();
$this->removeAll('phone'); $this->removeAll('phone');
$i = 0; $i = 0;
foreach($phones as $phone) { foreach ($phones as $phone) {
if (!empty($phone['value'])) { if (!empty($phone['value'])) {
++$i; ++$i;
$this->saveField( $this->saveField(
@ -145,51 +150,54 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
} }
} }
function findPhoneNumbers() { public function findPhoneNumbers()
{
// Form vals look like this: // Form vals look like this:
// 'extprofile-phone-1' => '11332', // 'extprofile-phone-1' => '11332',
// 'extprofile-phone-1-rel' => 'mobile', // 'extprofile-phone-1-rel' => 'mobile',
$phones = $this->sliceParams('phone', 2); $phones = $this->sliceParams('phone', 2);
$phoneArray = array(); $phoneArray = array();
foreach ($phones as $phone) { foreach ($phones as $phone) {
list($number, $rel) = array_values($phone); list($number, $rel) = array_values($phone);
$phoneArray[] = array( $phoneArray[] = array(
'value' => $number, 'value' => $number,
'rel' => $rel 'rel' => $rel
); );
} }
return $phoneArray; return $phoneArray;
} }
function findIms() { public function findIms()
{
// Form vals look like this: // Form vals look like this:
// 'extprofile-im-0' => 'jed', // 'extprofile-im-0' => 'jed',
// 'extprofile-im-0-rel' => 'yahoo', // 'extprofile-im-0-rel' => 'yahoo',
$ims = $this->sliceParams('im', 2); $ims = $this->sliceParams('im', 2);
$imArray = array(); $imArray = array();
foreach ($ims as $im) { foreach ($ims as $im) {
list($id, $rel) = array_values($im); list($id, $rel) = array_values($im);
$imArray[] = array( $imArray[] = array(
'value' => $id, 'value' => $id,
'rel' => $rel 'rel' => $rel
); );
} }
return $imArray; return $imArray;
} }
function saveIms() { public function saveIms()
{
$ims = $this->findIms(); $ims = $this->findIms();
$this->removeAll('im'); $this->removeAll('im');
$i = 0; $i = 0;
foreach($ims as $im) { foreach ($ims as $im) {
if (!empty($im['value'])) { if (!empty($im['value'])) {
++$i; ++$i;
$this->saveField( $this->saveField(
@ -202,7 +210,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
} }
} }
function findWebsites() { public function findWebsites()
{
// Form vals look like this: // Form vals look like this:
@ -213,18 +222,19 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
list($id, $rel) = array_values($site); list($id, $rel) = array_values($site);
$wsArray[] = array( $wsArray[] = array(
'value' => $id, 'value' => $id,
'rel' => $rel 'rel' => $rel
); );
} }
return $wsArray; return $wsArray;
} }
function saveWebsites() { public function saveWebsites()
{
$sites = $this->findWebsites(); $sites = $this->findWebsites();
$this->removeAll('website'); $this->removeAll('website');
$i = 0; $i = 0;
foreach($sites as $site) { foreach ($sites as $site) {
if (!empty($site['value']) && !common_valid_http_url($site['value'])) { if (!empty($site['value']) && !common_valid_http_url($site['value'])) {
// TRANS: Exception thrown when entering an invalid URL. // TRANS: Exception thrown when entering an invalid URL.
// TRANS: %s is the invalid URL. // TRANS: %s is the invalid URL.
@ -243,7 +253,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
} }
} }
function findExperiences() { public function findExperiences()
{
// Form vals look like this: // Form vals look like this:
// 'extprofile-experience-0' => 'Bozotronix', // 'extprofile-experience-0' => 'Bozotronix',
@ -264,8 +275,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
if (!empty($company)) { if (!empty($company)) {
$expArray[] = array( $expArray[] = array(
'company' => $company, 'company' => $company,
'start' => $this->parseDate('Start', $start, true), 'start' => $this->parseDate('Start', $start, true),
'end' => ($current == 'false') ? $this->parseDate('End', $end, true) : null, 'end' => ($current == 'false') ? $this->parseDate('End', $end, true) : null,
'current' => ($current == 'false') ? false : true 'current' => ($current == 'false') ? false : true
); );
} }
@ -274,7 +285,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
return $expArray; return $expArray;
} }
function saveExperiences() { public function saveExperiences()
{
common_debug('save experiences'); common_debug('save experiences');
$experiences = $this->findExperiences(); $experiences = $this->findExperiences();
@ -283,7 +295,7 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$this->removeAll('end'); // also stores 'current' $this->removeAll('end'); // also stores 'current'
$i = 0; $i = 0;
foreach($experiences as $experience) { foreach ($experiences as $experience) {
if (!empty($experience['company'])) { if (!empty($experience['company'])) {
++$i; ++$i;
$this->saveField( $this->saveField(
@ -318,12 +330,12 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$experience['end'] $experience['end']
); );
} }
} }
} }
} }
function findEducations() { public function findEducations()
{
// Form vals look like this: // Form vals look like this:
// 'extprofile-education-0-school' => 'Pigdog', // 'extprofile-education-0-school' => 'Pigdog',
@ -339,11 +351,11 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
list($school, $degree, $description, $end, $start) = array_values($edu); list($school, $degree, $description, $end, $start) = array_values($edu);
if (!empty($school)) { if (!empty($school)) {
$eduArray[] = array( $eduArray[] = array(
'school' => $school, 'school' => $school,
'degree' => $degree, 'degree' => $degree,
'description' => $description, 'description' => $description,
'start' => $this->parseDate('Start', $start, true), 'start' => $this->parseDate('Start', $start, true),
'end' => $this->parseDate('End', $end, true) 'end' => $this->parseDate('End', $end, true)
); );
} }
} }
@ -352,59 +364,60 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
} }
function saveEducations() { public function saveEducations()
common_debug('save education'); {
$edus = $this->findEducations(); common_debug('save education');
common_debug(var_export($edus, true)); $edus = $this->findEducations();
common_debug(var_export($edus, true));
$this->removeAll('school'); $this->removeAll('school');
$this->removeAll('degree'); $this->removeAll('degree');
$this->removeAll('degree_descr'); $this->removeAll('degree_descr');
$this->removeAll('school_start'); $this->removeAll('school_start');
$this->removeAll('school_end'); $this->removeAll('school_end');
$i = 0; $i = 0;
foreach($edus as $edu) { foreach ($edus as $edu) {
if (!empty($edu['school'])) { if (!empty($edu['school'])) {
++$i; ++$i;
$this->saveField( $this->saveField(
'school', 'school',
$edu['school'], $edu['school'],
null, null,
$i $i
); );
$this->saveField( $this->saveField(
'degree', 'degree',
$edu['degree'], $edu['degree'],
null, null,
$i $i
); );
$this->saveField( $this->saveField(
'degree_descr', 'degree_descr',
$edu['description'], $edu['description'],
null, null,
$i $i
); );
$this->saveField( $this->saveField(
'school_start', 'school_start',
null, null,
null, null,
$i, $i,
$edu['start'] $edu['start']
); );
$this->saveField( $this->saveField(
'school_end', 'school_end',
null, null,
null, null,
$i, $i,
$edu['end'] $edu['end']
); );
} }
} }
} }
function arraySplit($array, $pieces) public function arraySplit($array, $pieces)
{ {
if ($pieces < 2) { if ($pieces < 2) {
return array($array); return array($array);
@ -417,9 +430,10 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
return array_merge(array($a), $b); return array_merge(array($a), $b);
} }
function findMultiParams($type) { public function findMultiParams($type)
{
$formVals = array(); $formVals = array();
$target = $type; $target = $type;
foreach ($_POST as $key => $val) { foreach ($_POST as $key => $val) {
if (strrpos('extprofile-' . $key, $target) !== false) { if (strrpos('extprofile-' . $key, $target) !== false) {
$formVals[$key] = $val; $formVals[$key] = $val;
@ -428,7 +442,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
return $formVals; return $formVals;
} }
function sliceParams($key, $size) { public function sliceParams($key, $size)
{
$slice = array(); $slice = array();
$params = $this->findMultiParams($key); $params = $this->findMultiParams($key);
ksort($params); ksort($params);
@ -439,28 +454,29 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
/** /**
* Save an extended profile field as a Profile_detail * Save an extended profile field as a Profile_detail
* *
* @param string $name field name * @param string $name field name
* @param string $value field value * @param string $value field value
* @param string $rel field rel (type) * @param string|null $rel field rel (type)
* @param int $index index (fields can have multiple values) * @param int|null $index index (fields can have multiple values)
* @param date $date related date * @param string|null $date date related date
* @throws ServerException
*/ */
function saveField($name, $value, $rel = null, $index = null, $date = null) public function saveField(string $name, ?string $value, ?string $rel = null, ?int $index = null, ?string $date = null)
{ {
$detail = new Profile_detail(); $detail = new Profile_detail();
$detail->profile_id = $this->scoped->getID(); $detail->profile_id = $this->scoped->getID();
$detail->field_name = $name; $detail->field_name = $name;
$detail->value_index = $index; $detail->value_index = $index;
$result = $detail->find(true); $result = $detail->find(true);
if (!$result instanceof Profile_detail) { if (!$result instanceof Profile_detail) {
$detail->value_index = $index; $detail->value_index = $index;
$detail->rel = $rel; $detail->rel = $rel;
$detail->field_value = $value; $detail->field_value = $value;
$detail->date = $date; $detail->date = $date;
$detail->created = common_sql_now(); $detail->created = common_sql_now();
$result = $detail->insert(); $result = $detail->insert();
if ($result === false) { if ($result === false) {
common_log_db_error($detail, 'INSERT', __FILE__); common_log_db_error($detail, 'INSERT', __FILE__);
@ -471,8 +487,8 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$orig = clone($detail); $orig = clone($detail);
$detail->field_value = $value; $detail->field_value = $value;
$detail->rel = $rel; $detail->rel = $rel;
$detail->date = $date; $detail->date = $date;
$result = $detail->update($orig); $result = $detail->update($orig);
if ($result === false) { if ($result === false) {
@ -485,11 +501,11 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$detail->free(); $detail->free();
} }
function removeAll($name) public function removeAll($name)
{ {
$detail = new Profile_detail(); $detail = new Profile_detail();
$detail->profile_id = $this->scoped->getID(); $detail->profile_id = $this->scoped->getID();
$detail->field_name = $name; $detail->field_name = $name;
$detail->delete(); $detail->delete();
$detail->free(); $detail->free();
} }
@ -500,12 +516,12 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
* XXX: There's a lot of dupe code here from ProfileSettingsAction. * XXX: There's a lot of dupe code here from ProfileSettingsAction.
* Do not want. * Do not want.
*/ */
function saveStandardProfileDetails() public function saveStandardProfileDetails()
{ {
$fullname = $this->trimmed('extprofile-fullname'); $fullname = $this->trimmed('extprofile-fullname');
$location = $this->trimmed('extprofile-location'); $location = $this->trimmed('extprofile-location');
$tagstring = $this->trimmed('extprofile-tags'); $tagstring = $this->trimmed('extprofile-tags');
$bio = $this->trimmed('extprofile-bio'); $bio = $this->trimmed('extprofile-bio');
if ($tagstring) { if ($tagstring) {
$tags = array_map( $tags = array_map(
@ -513,7 +529,7 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
preg_split('/[\s,]+/', $tagstring) preg_split('/[\s,]+/', $tagstring)
); );
} else { } else {
$tags = array(); $tags = [];
} }
foreach ($tags as $tag) { foreach ($tags as $tag) {
@ -527,30 +543,29 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
$oldTags = Profile_tag::getSelfTagsArray($this->scoped); $oldTags = Profile_tag::getSelfTagsArray($this->scoped);
$newTags = array_diff($tags, $oldTags); $newTags = array_diff($tags, $oldTags);
if ($fullname != $this->scoped->getFullname() if ($fullname != $this->scoped->getFullname()
|| $location != $this->scoped->location || $location != $this->scoped->location
|| !empty($newTags) || !empty($newTags)
|| $bio != $this->scoped->getDescription()) { || $bio != $this->scoped->getDescription()) {
$orig = clone($this->scoped); $orig = clone($this->scoped);
// Skipping nickname change here until we add logic for when the site allows it or not // Skipping nickname change here until we add logic for when the site allows it or not
// old Profilesettings will still let us do that. // old Profilesettings will still let us do that.
$this->scoped->fullname = $fullname; $this->scoped->fullname = $fullname;
$this->scoped->bio = $bio; $this->scoped->bio = $bio;
$this->scoped->location = $location; $this->scoped->location = $location;
$loc = Location::fromName($location); $loc = Location::fromName($location);
if (empty($loc)) { if (empty($loc)) {
$this->scoped->lat = null; $this->scoped->lat = null;
$this->scoped->lon = null; $this->scoped->lon = null;
$this->scoped->location_id = null; $this->scoped->location_id = null;
$this->scoped->location_ns = null; $this->scoped->location_ns = null;
} else { } else {
$this->scoped->lat = $loc->lat; $this->scoped->lat = $loc->lat;
$this->scoped->lon = $loc->lon; $this->scoped->lon = $loc->lon;
$this->scoped->location_id = $loc->location_id; $this->scoped->location_id = $loc->location_id;
$this->scoped->location_ns = $loc->location_ns; $this->scoped->location_ns = $loc->location_ns;
} }
@ -570,4 +585,36 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction
} }
} }
private function saveCustomFields($action)
{
$fields = GNUsocialProfileExtensionField::allFields();
$user = common_current_user();
$profile = $user->getProfile();
foreach ($fields as $field) {
$val = $action->trimmed('extprofile-'.$field->systemname);
if (empty($val)) {
continue;
}
$response = new GNUsocialProfileExtensionResponse();
$response->profile_id = $profile->id;
$response->extension_id = $field->id;
if ($response->find()) {
$response->fetch();
$response->value = $val;
if ($response->validate()) {
if (empty($val)) {
$response->delete();
} else {
$response->update();
}
}
} else {
$response->value = $val;
$response->insert();
}
}
}
} }

View File

@ -144,7 +144,7 @@ class ProfilefieldsAdminForm extends AdminForm
'systemname', 'systemname',
_m('Internal name'), _m('Internal name'),
$systemname, $systemname,
_m('The alphanumeric name used internally for this field. Also the key used in OStatus user info. (optional)') _m('The alphanumeric name used internally for this field. Also the key used for federation (e.g. ActivityPub and OStatus) user info.')
); );
$this->unli(); $this->unli();
$this->li(); $this->li();

View File

@ -34,7 +34,7 @@ if (!defined('STATUSNET')) {
class UserautocompleteAction extends Action class UserautocompleteAction extends Action
{ {
var $query; public $query;
/** /**
* Initialization. * Initialization.
@ -42,8 +42,9 @@ class UserautocompleteAction extends Action
* @param array $args Web and URL arguments * @param array $args Web and URL arguments
* *
* @return boolean true if nothing goes wrong * @return boolean true if nothing goes wrong
* @throws ClientException
*/ */
function prepare(array $args = array()) public function prepare(array $args = array())
{ {
parent::prepare($args); parent::prepare($args);
$this->query = $this->trimmed('term'); $this->query = $this->trimmed('term');
@ -53,11 +54,9 @@ class UserautocompleteAction extends Action
/** /**
* Handle a request * Handle a request
* *
* @param array $args Arguments from $_REQUEST
*
* @return void * @return void
*/ */
function handle() public function handle()
{ {
parent::handle(); parent::handle();
$this->showResults(); $this->showResults();
@ -68,8 +67,9 @@ class UserautocompleteAction extends Action
* as a quick-n-dirty JSON document * as a quick-n-dirty JSON document
* *
* @return void * @return void
* @throws ServerException
*/ */
function showResults() public function showResults()
{ {
$people = array(); $people = array();
@ -83,7 +83,6 @@ class UserautocompleteAction extends Action
$cnt = $profile->find(); $cnt = $profile->find();
if ($cnt > 0) { if ($cnt > 0) {
$sql = 'SELECT profile.* FROM profile, user WHERE profile.id = user.id ' $sql = 'SELECT profile.* FROM profile, user WHERE profile.id = user.id '
. ' AND LEFT(LOWER(profile.nickname), ' . ' AND LEFT(LOWER(profile.nickname), '
. strlen($this->query) . strlen($this->query)
@ -92,9 +91,9 @@ class UserautocompleteAction extends Action
$profile->query(sprintf($sql, $this->query)); $profile->query(sprintf($sql, $this->query));
} }
while ($profile->fetch()) { while ($profile->fetch()) {
$people[] = $profile->nickname; $people[] = $profile->nickname;
} }
header('Content-Type: application/json; charset=utf-8'); header('Content-Type: application/json; charset=utf-8');
@ -104,9 +103,10 @@ class UserautocompleteAction extends Action
/** /**
* Do we need to write to the database? * Do we need to write to the database?
* *
* @param $args
* @return boolean true * @return boolean true
*/ */
function isReadOnly($args) public function isReadOnly($args)
{ {
return true; return true;
} }

View File

@ -69,30 +69,30 @@ class Profile_detail extends Managed_DataObject
public $created; public $created;
public $modified; public $modified;
static function schemaDef() public static function schemaDef()
{ {
return array( return array(
// No need for i18n. Table properties. // No need for i18n. Table properties.
'description' 'description'
=> 'Additional profile details for the ExtendedProfile plugin', => 'Additional profile details for the ExtendedProfile plugin',
'fields' => array( 'fields' => array(
'id' => array('type' => 'serial', 'not null' => true), 'id' => array('type' => 'serial', 'not null' => true),
'profile_id' => array('type' => 'int', 'not null' => true), 'profile_id' => array('type' => 'int', 'not null' => true),
'field_name' => array( 'field_name' => array(
'type' => 'varchar', 'type' => 'varchar',
'length' => 16, 'length' => 16,
'not null' => true 'not null' => true
), ),
'value_index' => array('type' => 'int'), 'value_index' => array('type' => 'int'),
'field_value' => array('type' => 'text'), 'field_value' => array('type' => 'text'),
'date' => array('type' => 'datetime'), 'date' => array('type' => 'datetime'),
'rel' => array('type' => 'varchar', 'length' => 16), 'rel' => array('type' => 'varchar', 'length' => 16),
'rel_profile' => array('type' => 'int'), 'rel_profile' => array('type' => 'int'),
'created' => array( 'created' => array(
'type' => 'datetime', 'type' => 'datetime',
'not null' => true 'not null' => true
), ),
'modified' => array( 'modified' => array(
'type' => 'timestamp', 'type' => 'timestamp',
'not null' => true 'not null' => true
), ),
@ -100,7 +100,7 @@ class Profile_detail extends Managed_DataObject
'primary key' => array('id'), 'primary key' => array('id'),
'unique keys' => array( 'unique keys' => array(
'profile_detail_profile_id_field_name_value_index' 'profile_detail_profile_id_field_name_value_index'
=> array('profile_id', 'field_name', 'value_index'), => array('profile_id', 'field_name', 'value_index'),
) )
); );
} }

View File

@ -32,12 +32,13 @@ class ExtendedProfile
* Constructor * Constructor
* *
* @param Profile $profile * @param Profile $profile
* @throws NoSuchUserException
*/ */
function __construct(Profile $profile) public function __construct(Profile $profile)
{ {
$this->profile = $profile; $this->profile = $profile;
$this->user = $profile->getUser(); $this->user = $profile->getUser();
$this->fields = $this->loadFields(); $this->fields = $this->loadFields();
$this->sections = $this->getSections(); $this->sections = $this->getSections();
//common_debug(var_export($this->sections, true)); //common_debug(var_export($this->sections, true));
@ -48,8 +49,9 @@ class ExtendedProfile
* Load extended profile fields * Load extended profile fields
* *
* @return array $fields the list of fields * @return array $fields the list of fields
* @throws Exception
*/ */
function loadFields() public function loadFields()
{ {
$detail = new Profile_detail(); $detail = new Profile_detail();
$detail->profile_id = $this->profile->getID(); $detail->profile_id = $this->profile->getID();
@ -69,7 +71,7 @@ class ExtendedProfile
* *
* @return string the concatenated string of tags * @return string the concatenated string of tags
*/ */
function getTags() public function getTags()
{ {
return implode(' ', Profile_tag::getSelfTagsArray($this->profile)); return implode(' ', Profile_tag::getSelfTagsArray($this->profile));
} }
@ -84,21 +86,22 @@ class ExtendedProfile
* *
* @return string the value * @return string the value
*/ */
function getTextValue($name) public function getTextValue($name)
{ {
$key = strtolower($name); $key = strtolower($name);
$profileFields = array('fullname', 'location', 'bio'); $profileFields = array('fullname', 'location', 'bio');
if (in_array($key, $profileFields)) { if (in_array($key, $profileFields)) {
return $this->profile->$name; return $this->profile->$name;
} else if (array_key_exists($key, $this->fields)) { } elseif (array_key_exists($key, $this->fields)) {
return $this->fields[$key][0]->field_value; return $this->fields[$key][0]->field_value;
} else { } else {
return null; return null;
} }
} }
function getDateValue($name) { public function getDateValue($name)
{
$key = strtolower($name); $key = strtolower($name);
if (array_key_exists($key, $this->fields)) { if (array_key_exists($key, $this->fields)) {
return $this->fields[$key][0]->date; return $this->fields[$key][0]->date;
@ -109,7 +112,7 @@ class ExtendedProfile
// XXX: getPhones, getIms, and getWebsites pretty much do the same thing, // XXX: getPhones, getIms, and getWebsites pretty much do the same thing,
// so refactor. // so refactor.
function getPhones() public function getPhones()
{ {
$phones = (isset($this->fields['phone'])) ? $this->fields['phone'] : null; $phones = (isset($this->fields['phone'])) ? $this->fields['phone'] : null;
$pArrays = array(); $pArrays = array();
@ -119,9 +122,9 @@ class ExtendedProfile
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Phone'), 'label' => _m('Phone'),
'index' => 0, 'index' => 0,
'type' => 'phone', 'type' => 'phone',
'vcard' => 'tel', 'vcard' => 'tel',
'rel' => 'office', 'rel' => 'office',
'value' => null 'value' => null
); );
} else { } else {
@ -129,20 +132,20 @@ class ExtendedProfile
$pa = array( $pa = array(
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Phone'), 'label' => _m('Phone'),
'type' => 'phone', 'type' => 'phone',
'index' => intval($phones[$i]->value_index), 'index' => intval($phones[$i]->value_index),
'rel' => $phones[$i]->rel, 'rel' => $phones[$i]->rel,
'value' => $phones[$i]->field_value, 'value' => $phones[$i]->field_value,
'vcard' => 'tel' 'vcard' => 'tel'
); );
$pArrays[] = $pa; $pArrays[] = $pa;
} }
} }
return $pArrays; return $pArrays;
} }
function getIms() public function getIms()
{ {
$ims = (isset($this->fields['im'])) ? $this->fields['im'] : null; $ims = (isset($this->fields['im'])) ? $this->fields['im'] : null;
$iArrays = array(); $iArrays = array();
@ -158,9 +161,9 @@ class ExtendedProfile
$ia = array( $ia = array(
// TRANS: Field label for extended profile properties (Instant Messaging). // TRANS: Field label for extended profile properties (Instant Messaging).
'label' => _m('IM'), 'label' => _m('IM'),
'type' => 'im', 'type' => 'im',
'index' => intval($ims[$i]->value_index), 'index' => intval($ims[$i]->value_index),
'rel' => $ims[$i]->rel, 'rel' => $ims[$i]->rel,
'value' => $ims[$i]->field_value, 'value' => $ims[$i]->field_value,
); );
@ -170,7 +173,7 @@ class ExtendedProfile
return $iArrays; return $iArrays;
} }
function getWebsites() public function getWebsites()
{ {
$sites = (isset($this->fields['website'])) ? $this->fields['website'] : null; $sites = (isset($this->fields['website'])) ? $this->fields['website'] : null;
$wArrays = array(); $wArrays = array();
@ -186,9 +189,9 @@ class ExtendedProfile
$wa = array( $wa = array(
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Website'), 'label' => _m('Website'),
'type' => 'website', 'type' => 'website',
'index' => intval($sites[$i]->value_index), 'index' => intval($sites[$i]->value_index),
'rel' => $sites[$i]->rel, 'rel' => $sites[$i]->rel,
'value' => $sites[$i]->field_value, 'value' => $sites[$i]->field_value,
); );
@ -198,44 +201,44 @@ class ExtendedProfile
return $wArrays; return $wArrays;
} }
function getExperiences() public function getExperiences()
{ {
$companies = (isset($this->fields['company'])) ? $this->fields['company'] : null; $companies = (isset($this->fields['company'])) ? $this->fields['company'] : null;
$start = (isset($this->fields['start'])) ? $this->fields['start'] : null; $start = (isset($this->fields['start'])) ? $this->fields['start'] : null;
$end = (isset($this->fields['end'])) ? $this->fields['end'] : null; $end = (isset($this->fields['end'])) ? $this->fields['end'] : null;
$eArrays = array(); $eArrays = array();
if (empty($companies)) { if (empty($companies)) {
$eArrays[] = array( $eArrays[] = array(
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Employer'), 'label' => _m('Employer'),
'type' => 'experience', 'type' => 'experience',
'company' => null, 'company' => null,
'start' => null, 'start' => null,
'end' => null, 'end' => null,
'current' => false, 'current' => false,
'index' => 0 'index' => 0
); );
} else { } else {
for ($i = 0; $i < sizeof($companies); $i++) { for ($i = 0; $i < sizeof($companies); $i++) {
$ea = array( $ea = array(
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Employer'), 'label' => _m('Employer'),
'type' => 'experience', 'type' => 'experience',
'company' => $companies[$i]->field_value, 'company' => $companies[$i]->field_value,
'index' => intval($companies[$i]->value_index), 'index' => intval($companies[$i]->value_index),
'current' => $end[$i]->rel, 'current' => $end[$i]->rel,
'start' => $start[$i]->date, 'start' => $start[$i]->date,
'end' => $end[$i]->date 'end' => $end[$i]->date
); );
$eArrays[] = $ea; $eArrays[] = $ea;
} }
} }
return $eArrays; return $eArrays;
} }
function getEducation() public function getEducation()
{ {
$schools = (isset($this->fields['school'])) ? $this->fields['school'] : null; $schools = (isset($this->fields['school'])) ? $this->fields['school'] : null;
$degrees = (isset($this->fields['degree'])) ? $this->fields['degree'] : null; $degrees = (isset($this->fields['degree'])) ? $this->fields['degree'] : null;
@ -259,17 +262,17 @@ class ExtendedProfile
} else { } else {
for ($i = 0; $i < sizeof($schools); $i++) { for ($i = 0; $i < sizeof($schools); $i++) {
$ia = array( $ia = array(
'type' => 'education', 'type' => 'education',
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Institution'), 'label' => _m('Institution'),
'school' => $schools[$i]->field_value, 'school' => $schools[$i]->field_value,
'degree' => isset($degrees[$i]->field_value) ? $degrees[$i]->field_value : null, 'degree' => isset($degrees[$i]->field_value) ? $degrees[$i]->field_value : null,
'description' => isset($descs[$i]->field_value) ? $descs[$i]->field_value : null, 'description' => isset($descs[$i]->field_value) ? $descs[$i]->field_value : null,
'index' => intval($schools[$i]->value_index), 'index' => intval($schools[$i]->value_index),
'start' => $start[$i]->date, 'start' => $start[$i]->date,
'end' => $end[$i]->date 'end' => $end[$i]->date
); );
$iArrays[] = $ia; $iArrays[] = $ia;
} }
} }
@ -280,9 +283,27 @@ class ExtendedProfile
* Return all the sections of the extended profile * Return all the sections of the extended profile
* *
* @return array the big list of sections and fields * @return array the big list of sections and fields
* @throws Exception
*/ */
function getSections() public function getSections()
{ {
$gsefields = GNUsocialProfileExtensionField::allFields();
$extra_fields = [];
gnusocial_profile_merge($this->profile);
foreach ($gsefields as $field) {
$field_key = $field->systemname;
switch ($field->type) {
case 'text':
$extra_fields[$field_key]['type'] = 'custom-textarea';
break;
case 'str':
default:
$extra_fields[$field_key]['type'] = 'custom-text';
break;
}
$extra_fields[$field_key]['label'] = $field->title;
$extra_fields[$field_key]['value'] = $this->profile->$field_key;
}
return array( return array(
'basic' => array( 'basic' => array(
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
@ -328,8 +349,8 @@ class ExtendedProfile
// TRANS: Field label for extended profile properties. // TRANS: Field label for extended profile properties.
'label' => _m('Contact'), 'label' => _m('Contact'),
'fields' => array( 'fields' => array(
'phone' => $this->getPhones(), 'phone' => $this->getPhones(),
'im' => $this->getIms(), 'im' => $this->getIms(),
'website' => $this->getWebsites() 'website' => $this->getWebsites()
), ),
), ),
@ -368,6 +389,10 @@ class ExtendedProfile
'education' => $this->getEducation() 'education' => $this->getEducation()
), ),
), ),
'extra' => [
'label' => _m('Extra fields'),
'fields' => $extra_fields,
]
); );
} }
} }

View File

@ -39,18 +39,19 @@ class ExtendedProfileWidget extends Form
/** /**
* The extended profile * The extended profile
* *
* @var Extended_profile * @var ExtendedProfile
*/ */
protected $ext; protected $ext;
/** /**
* Constructor * Constructor
* *
* @param XMLOutputter $out * @param Action $out
* @param Profile $profile * @param Profile $profile
* @param boolean $editable * @param boolean $editable
* @throws NoSuchUserException
*/ */
public function __construct(XMLOutputter $out=null, Profile $profile=null, $editable=false) public function __construct(Action $out = null, Profile $profile = null, $editable = false)
{ {
parent::__construct($out); parent::__construct($out);
@ -103,8 +104,9 @@ class ExtendedProfileWidget extends Form
/** /**
* Show an extended profile section * Show an extended profile section
* *
* @param string $name name of the section * @param string $name name of the section
* @param array $section array of fields for the section * @param array $section array of fields for the section
* @throws Exception
*/ */
protected function showExtendedProfileSection($name, $section) protected function showExtendedProfileSection($name, $section)
{ {
@ -112,17 +114,16 @@ class ExtendedProfileWidget extends Form
$this->out->elementStart('table', array('class' => 'extended-profile')); $this->out->elementStart('table', array('class' => 'extended-profile'));
foreach ($section['fields'] as $fieldName => $field) { foreach ($section['fields'] as $fieldName => $field) {
switch ($fieldName) {
switch($fieldName) { case 'phone':
case 'phone': case 'im':
case 'im': case 'website':
case 'website': case 'experience':
case 'experience': case 'education':
case 'education': $this->showMultiple($fieldName, $field);
$this->showMultiple($fieldName, $field); break;
break; default:
default: $this->showExtendedProfileField($fieldName, $field);
$this->showExtendedProfileField($fieldName, $field);
} }
} }
$this->out->elementEnd('table'); $this->out->elementEnd('table');
@ -131,14 +132,15 @@ class ExtendedProfileWidget extends Form
/** /**
* Show an extended profile field * Show an extended profile field
* *
* @param string $name name of the field * @param string $name name of the field
* @param array $field set of key/value pairs for the field * @param array $field set of key/value pairs for the field
* @throws Exception
*/ */
protected function showExtendedProfileField($name, $field) protected function showExtendedProfileField($name, $field)
{ {
$this->out->elementStart('tr'); $this->out->elementStart('tr');
$this->out->element('th', str_replace(' ','_',strtolower($field['label'])), $field['label']); $this->out->element('th', str_replace(' ', '_', strtolower($field['label'])), $field['label']);
$this->out->elementStart('td'); $this->out->elementStart('td');
if ($this->editable) { if ($this->editable) {
@ -151,7 +153,8 @@ class ExtendedProfileWidget extends Form
$this->out->elementEnd('tr'); $this->out->elementEnd('tr');
} }
protected function showMultiple($name, $fields) { protected function showMultiple($name, $fields)
{
foreach ($fields as $field) { foreach ($fields as $field) {
$this->showExtendedProfileField($name, $field); $this->showExtendedProfileField($name, $field);
} }
@ -165,9 +168,9 @@ class ExtendedProfileWidget extends Form
if (!empty($field['value'])) { if (!empty($field['value'])) {
$this->out->text($field['value']); $this->out->text($field['value']);
if (!empty($field['rel'])) { if (!empty($field['rel'])) {
// TRANS: Value between parentheses (phone number, website, or IM address). // TRANS: Value between parentheses (phone number, website, or IM address).
$outtext = sprintf(_m('(%s)'),$field['rel']); $outtext = sprintf(_m('(%s)'), $field['rel']);
$this->out->text(' '.$outtext); $this->out->text(' ' . $outtext);
} }
} }
$this->out->elementEnd('div'); $this->out->elementEnd('div');
@ -179,8 +182,8 @@ class ExtendedProfileWidget extends Form
$this->out->text($field['value']); $this->out->text($field['value']);
if (!empty($field['rel'])) { if (!empty($field['rel'])) {
// TRANS: Value between parentheses (phone number, website, or IM address). // TRANS: Value between parentheses (phone number, website, or IM address).
$outtext = sprintf(_m('(%s)'),$field['rel']); $outtext = sprintf(_m('(%s)'), $field['rel']);
$this->out->text(' '.$outtext); $this->out->text(' ' . $outtext);
} }
$this->out->elementEnd('div'); $this->out->elementEnd('div');
} }
@ -194,8 +197,8 @@ class ExtendedProfileWidget extends Form
$this->out->element( $this->out->element(
"a", "a",
array( array(
'href' => $url, 'href' => $url,
'class' => 'extended-profile-link', 'class' => 'extended-profile-link',
'target' => "_blank" 'target' => "_blank"
), ),
$url $url
@ -203,8 +206,8 @@ class ExtendedProfileWidget extends Form
if (!empty($field['rel'])) { if (!empty($field['rel'])) {
// TRANS: Value between parentheses (phone number, website, or IM address). // TRANS: Value between parentheses (phone number, website, or IM address).
$outtext = sprintf(_m('(%s)'),$field['rel']); $outtext = sprintf(_m('(%s)'), $field['rel']);
$this->out->text(' '.$outtext); $this->out->text(' ' . $outtext);
} }
$this->out->elementEnd('div'); $this->out->elementEnd('div');
} }
@ -212,10 +215,11 @@ class ExtendedProfileWidget extends Form
protected function showEditableIm($name, $field) protected function showEditableIm($name, $field)
{ {
$index = isset($field['index']) ? $field['index'] : 0; $index = isset($field['index']) ? $field['index'] : 0;
$id = "extprofile-$name-$index"; $id = "extprofile-$name-$index";
$rel = $id . '-rel'; $rel = $id . '-rel';
$this->out->elementStart( $this->out->elementStart(
'div', array( 'div',
array(
'id' => $id . '-edit', 'id' => $id . '-edit',
'class' => 'im-item' 'class' => 'im-item'
) )
@ -230,12 +234,12 @@ class ExtendedProfileWidget extends Form
'Type', 'Type',
array( array(
'jabber' => 'Jabber', 'jabber' => 'Jabber',
'gtalk' => 'GTalk', 'gtalk' => 'GTalk',
'aim' => 'AIM', 'aim' => 'AIM',
'yahoo' => 'Yahoo! Messenger', 'yahoo' => 'Yahoo! Messenger',
'msn' => 'MSN', 'msn' => 'MSN',
'skype' => 'Skype', 'skype' => 'Skype',
'other' => 'Other' 'other' => 'Other'
), ),
null, null,
false, false,
@ -249,10 +253,11 @@ class ExtendedProfileWidget extends Form
protected function showEditablePhone($name, $field) protected function showEditablePhone($name, $field)
{ {
$index = isset($field['index']) ? $field['index'] : 0; $index = isset($field['index']) ? $field['index'] : 0;
$id = "extprofile-$name-$index"; $id = "extprofile-$name-$index";
$rel = $id . '-rel'; $rel = $id . '-rel';
$this->out->elementStart( $this->out->elementStart(
'div', array( 'div',
array(
'id' => $id . '-edit', 'id' => $id . '-edit',
'class' => 'phone-item' 'class' => 'phone-item'
) )
@ -268,9 +273,9 @@ class ExtendedProfileWidget extends Form
array( array(
'office' => 'Office', 'office' => 'Office',
'mobile' => 'Mobile', 'mobile' => 'Mobile',
'home' => 'Home', 'home' => 'Home',
'pager' => 'Pager', 'pager' => 'Pager',
'other' => 'Other' 'other' => 'Other'
), ),
null, null,
false, false,
@ -284,10 +289,11 @@ class ExtendedProfileWidget extends Form
protected function showEditableWebsite($name, $field) protected function showEditableWebsite($name, $field)
{ {
$index = isset($field['index']) ? $field['index'] : 0; $index = isset($field['index']) ? $field['index'] : 0;
$id = "extprofile-$name-$index"; $id = "extprofile-$name-$index";
$rel = $id . '-rel'; $rel = $id . '-rel';
$this->out->elementStart( $this->out->elementStart(
'div', array( 'div',
array(
'id' => $id . '-edit', 'id' => $id . '-edit',
'class' => 'website-item' 'class' => 'website-item'
) )
@ -301,13 +307,13 @@ class ExtendedProfileWidget extends Form
$id . '-rel', $id . '-rel',
'Type', 'Type',
array( array(
'blog' => 'Blog', 'blog' => 'Blog',
'homepage' => 'Homepage', 'homepage' => 'Homepage',
'facebook' => 'Facebook', 'facebook' => 'Facebook',
'linkedin' => 'LinkedIn', 'linkedin' => 'LinkedIn',
'flickr' => 'Flickr', 'flickr' => 'Flickr',
'other' => 'Other', 'other' => 'Other',
'twitter' => 'Twitter' 'twitter' => 'Twitter'
), ),
null, null,
false, false,
@ -332,7 +338,9 @@ class ExtendedProfileWidget extends Form
$this->out->element( $this->out->element(
'div', 'div',
array('class' => 'field date'), array('class' => 'field date'),
date('j M Y', strtotime($field['start']) date(
'j M Y',
strtotime($field['start'])
) )
); );
// TRANS: Field label in extended profile (when did one end a position or education). // TRANS: Field label in extended profile (when did one end a position or education).
@ -340,7 +348,9 @@ class ExtendedProfileWidget extends Form
$this->out->element( $this->out->element(
'div', 'div',
array('class' => 'field date'), array('class' => 'field date'),
date('j M Y', strtotime($field['end']) date(
'j M Y',
strtotime($field['end'])
) )
); );
@ -359,9 +369,10 @@ class ExtendedProfileWidget extends Form
protected function showEditableExperience($name, $field) protected function showEditableExperience($name, $field)
{ {
$index = isset($field['index']) ? $field['index'] : 0; $index = isset($field['index']) ? $field['index'] : 0;
$id = "extprofile-$name-$index"; $id = "extprofile-$name-$index";
$this->out->elementStart( $this->out->elementStart(
'div', array( 'div',
array(
'id' => $id . '-edit', 'id' => $id . '-edit',
'class' => 'experience-item' 'class' => 'experience-item'
) )
@ -383,7 +394,7 @@ class ExtendedProfileWidget extends Form
isset($field['start']) ? date('j M Y', strtotime($field['start'])) : null isset($field['start']) ? date('j M Y', strtotime($field['start'])) : null
); );
// TRANS: Field label in extended profile (when did one end a position or education). // TRANS: Field label in extended profile (when did one end a position or education).
$this->out->element('div', 'label', _m('End')); $this->out->element('div', 'label', _m('End'));
$this->out->input( $this->out->input(
@ -426,7 +437,9 @@ class ExtendedProfileWidget extends Form
$this->out->element( $this->out->element(
'div', 'div',
array('class' => 'field date'), array('class' => 'field date'),
date('j M Y', strtotime($field['start']) date(
'j M Y',
strtotime($field['start'])
) )
); );
// TRANS: Field label in extended profile (when did one end a position or education). // TRANS: Field label in extended profile (when did one end a position or education).
@ -434,7 +447,9 @@ class ExtendedProfileWidget extends Form
$this->out->element( $this->out->element(
'div', 'div',
array('class' => 'field date'), array('class' => 'field date'),
date('j M Y', strtotime($field['end']) date(
'j M Y',
strtotime($field['end'])
) )
); );
} }
@ -444,9 +459,10 @@ class ExtendedProfileWidget extends Form
protected function showEditableEducation($name, $field) protected function showEditableEducation($name, $field)
{ {
$index = isset($field['index']) ? $field['index'] : 0; $index = isset($field['index']) ? $field['index'] : 0;
$id = "extprofile-$name-$index"; $id = "extprofile-$name-$index";
$this->out->elementStart( $this->out->elementStart(
'div', array( 'div',
array(
'id' => $id . '-edit', 'id' => $id . '-edit',
'class' => 'education-item' 'class' => 'education-item'
) )
@ -498,7 +514,7 @@ class ExtendedProfileWidget extends Form
$this->out->elementEnd('div'); $this->out->elementEnd('div');
} }
function showMultiControls() public function showMultiControls()
{ {
$this->out->element( $this->out->element(
'a', 'a',
@ -525,61 +541,63 @@ class ExtendedProfileWidget extends Form
/** /**
* Outputs the value of a field * Outputs the value of a field
* *
* @param string $name name of the field * @param string $name name of the field
* @param array $field set of key/value pairs for the field * @param array $field set of key/value pairs for the field
*/ */
protected function showFieldValue($name, $field) protected function showFieldValue($name, $field)
{ {
$type = strval(@$field['type']); $type = strval(@$field['type']);
switch($type) switch ($type) {
{ case '':
case '': case 'text':
case 'text': case 'textarea':
case 'textarea': case 'person':
$this->out->text($this->ext->getTextValue($name)); $this->out->text($this->ext->getTextValue($name));
break; break;
case 'date': case 'custom-text':
$value = $this->ext->getDateValue($name); case 'custom-textarea':
if (!empty($value)) { $this->out->text(isset($field['value']) ? $field['value'] : null);
$this->out->element( break;
'div', case 'date':
array('class' => 'field date'), $value = $this->ext->getDateValue($name);
date('j M Y', strtotime($value)) if (!empty($value)) {
); $this->out->element(
} 'div',
break; array('class' => 'field date'),
case 'person': date('j M Y', strtotime($value))
$this->out->text($this->ext->getTextValue($name)); );
break; }
case 'tags': break;
$this->out->text($this->ext->getTags()); case 'tags':
break; $this->out->text($this->ext->getTags());
case 'phone': break;
$this->showPhone($name, $field); case 'phone':
break; $this->showPhone($name, $field);
case 'website': break;
$this->showWebsite($name, $field); case 'website':
break; $this->showWebsite($name, $field);
case 'im': break;
$this->showIm($name, $field); case 'im':
break; $this->showIm($name, $field);
case 'experience': break;
$this->showExperience($name, $field); case 'experience':
break; $this->showExperience($name, $field);
case 'education': break;
$this->showEducation($name, $field); case 'education':
break; $this->showEducation($name, $field);
default: break;
$this->out->text("TYPE: $type"); default:
$this->out->text("TYPE: $type");
} }
} }
/** /**
* Show an editable version of the field * Show an editable version of the field
* *
* @param string $name name fo the field * @param string $name name fo the field
* @param array $field array of key/value pairs for the field * @param array $field array of key/value pairs for the field
* @throws Exception
*/ */
protected function showEditableField($name, $field) protected function showEditableField($name, $field)
{ {
@ -591,45 +609,47 @@ class ExtendedProfileWidget extends Form
$value = 'placeholder'; $value = 'placeholder';
switch ($type) { switch ($type) {
case '': case '':
case 'text': case 'text':
$out->input($id, null, $this->ext->getTextValue($name)); case 'person':
break; $out->input($id, null, $this->ext->getTextValue($name));
case 'date': break;
$value = $this->ext->getDateValue($name); case 'custom-text':
$out->input( case 'custom-textarea':
$id, $out->input($id, null, isset($field['value']) ? $field['value'] : null);
null, break;
empty($value) ? null : date('j M Y', strtotime($value)) case 'date':
); $value = $this->ext->getDateValue($name);
break; $out->input(
case 'person': $id,
$out->input($id, null, $this->ext->getTextValue($name)); null,
break; empty($value) ? null : date('j M Y', strtotime($value))
case 'textarea': );
$out->textarea($id, null, $this->ext->getTextValue($name)); break;
break; case 'textarea':
case 'tags': $out->textarea($id, null, $this->ext->getTextValue($name));
$out->input($id, null, $this->ext->getTags()); break;
break; case 'tags':
case 'phone': $out->input($id, null, $this->ext->getTags());
$this->showEditablePhone($name, $field); break;
break; case 'phone':
case 'im': $this->showEditablePhone($name, $field);
$this->showEditableIm($name, $field); break;
break; case 'im':
case 'website': $this->showEditableIm($name, $field);
$this->showEditableWebsite($name, $field); break;
break; case 'website':
case 'experience': $this->showEditableWebsite($name, $field);
$this->showEditableExperience($name, $field); break;
break; case 'experience':
case 'education': $this->showEditableExperience($name, $field);
$this->showEditableEducation($name, $field); break;
break; case 'education':
default: $this->showEditableEducation($name, $field);
// TRANS: Field label for undefined field in extended profile. break;
$out->input($id, null, sprintf(_m('TYPE: %s'),$type)); default:
// TRANS: Field label for undefined field in extended profile.
$out->input($id, null, sprintf(_m('TYPE: %s'), $type));
} }
} }
@ -637,19 +657,20 @@ class ExtendedProfileWidget extends Form
* Action elements * Action elements
* *
* @return void * @return void
* @throws Exception
*/ */
function formActions() public function formActions()
{ {
$this->out->submit( $this->out->submit(
'save', 'save',
// TRANS: Button text for saving extended profile properties. // TRANS: Button text for saving extended profile properties.
_m('BUTTON','Save'), _m('BUTTON', 'Save'),
'submit form_action-secondary', 'submit form_action-secondary',
'save', 'save',
// TRANS: . // TRANS: .
// TRANS: Button title for saving extended profile properties. // TRANS: Button title for saving extended profile properties.
_m('Save details') _m('Save details')
); );
} }
/** /**
@ -657,7 +678,7 @@ class ExtendedProfileWidget extends Form
* *
* @return string ID of the form * @return string ID of the form
*/ */
function id() public function id()
{ {
return 'profile-details-' . $this->profile->id; return 'profile-details-' . $this->profile->id;
} }
@ -667,7 +688,7 @@ class ExtendedProfileWidget extends Form
* *
* @return string of the form class * @return string of the form class
*/ */
function formClass() public function formClass()
{ {
return 'form_profile_details form_settings'; return 'form_profile_details form_settings';
} }
@ -677,7 +698,7 @@ class ExtendedProfileWidget extends Form
* *
* @return string URL of the action * @return string URL of the action
*/ */
function action() public function action()
{ {
return common_local_url('profiledetailsettings'); return common_local_url('profiledetailsettings');
} }

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-14 14:51+0100\n" "POT-Creation-Date: 2019-08-14 15:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,247 +17,351 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. TRANS: Plugin description. #. TRANS: Module description.
#: ExtendedProfilePlugin.php:42 #: ExtendedProfileModule.php:46
msgid "UI extensions for additional profile fields." msgid "UI extensions for additional profile fields."
msgstr "" msgstr ""
#. TRANS: Link text on user profile page leading to extended profile page. #. TRANS: Link text on user profile page leading to extended profile page.
#: ExtendedProfilePlugin.php:89 #: ExtendedProfileModule.php:100
msgid "More details..." msgid "More details..."
msgstr "" msgstr ""
#. TRANS: Extended profile plugin menu item on user settings page.
#: ExtendedProfileModule.php:119
msgctxt "MENU"
msgid "Full Profile"
msgstr ""
#. TRANS: Extended profile plugin tooltip for user settings menu item.
#: ExtendedProfileModule.php:121
msgid "Change your extended profile settings"
msgstr ""
#: ExtendedProfileModule.php:206
msgid "Profile Fields"
msgstr ""
#: ExtendedProfileModule.php:207
msgid "Custom profile fields"
msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:120 lib/extendedprofile.php:131 #: lib/extendedprofile.php:123 lib/extendedprofile.php:134
msgid "Phone" msgid "Phone"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties (Instant Messaging). #. TRANS: Field label for extended profile properties (Instant Messaging).
#: lib/extendedprofile.php:153 lib/extendedprofile.php:160 #: lib/extendedprofile.php:156 lib/extendedprofile.php:163
msgid "IM" msgid "IM"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:181 lib/extendedprofile.php:188 #: lib/extendedprofile.php:184 lib/extendedprofile.php:191
msgid "Website" msgid "Website"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:212 lib/extendedprofile.php:224 #: lib/extendedprofile.php:215 lib/extendedprofile.php:227
msgid "Employer" msgid "Employer"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#. TRANS: Field label in education area of extended profile. #. TRANS: Field label in education area of extended profile.
#. TRANS: Field label in education edit area of extended profile. #. TRANS: Field label in education edit area of extended profile.
#: lib/extendedprofile.php:251 lib/extendedprofile.php:264 #: lib/extendedprofile.php:254 lib/extendedprofile.php:267
#: lib/extendedprofilewidget.php:415 lib/extendedprofilewidget.php:455 #: lib/extendedprofilewidget.php:426 lib/extendedprofilewidget.php:471
msgid "Institution" msgid "Institution"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:289 lib/extendedprofile.php:338 #: lib/extendedprofile.php:310 lib/extendedprofile.php:359
msgid "Personal" msgid "Personal"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:293 #: lib/extendedprofile.php:314
msgid "Full name" msgid "Full name"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:299 #: lib/extendedprofile.php:320 actions/profilefieldsadminpanel.php:137
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:304 #: lib/extendedprofile.php:325
msgid "Manager" msgid "Manager"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:310 #: lib/extendedprofile.php:331
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:315 #: lib/extendedprofile.php:336
msgid "Bio" msgid "Bio"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:321 #: lib/extendedprofile.php:342
msgid "Tags" msgid "Tags"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:329 #: lib/extendedprofile.php:350
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:342 #: lib/extendedprofile.php:363
msgid "Birthday" msgid "Birthday"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:348 #: lib/extendedprofile.php:369
msgid "Spouse's name" msgid "Spouse's name"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:353 #: lib/extendedprofile.php:374
msgid "Kids' names" msgid "Kids' names"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:359 #: lib/extendedprofile.php:380
msgid "Work experience" msgid "Work experience"
msgstr "" msgstr ""
#. TRANS: Field label for extended profile properties. #. TRANS: Field label for extended profile properties.
#: lib/extendedprofile.php:366 #: lib/extendedprofile.php:387
msgid "Education" msgid "Education"
msgstr "" msgstr ""
#: lib/extendedprofile.php:393
msgid "Extra fields"
msgstr ""
#. TRANS: Title for extended profile entry deletion dialog. #. TRANS: Title for extended profile entry deletion dialog.
#: lib/extendedprofilewidget.php:84 #: lib/extendedprofilewidget.php:85
msgid "Confirmation Required" msgid "Confirmation Required"
msgstr "" msgstr ""
#. TRANS: Confirmation text for extended profile entry deletion dialog. #. TRANS: Confirmation text for extended profile entry deletion dialog.
#: lib/extendedprofilewidget.php:87 #: lib/extendedprofilewidget.php:88
msgid "Really delete this entry?" msgid "Really delete this entry?"
msgstr "" msgstr ""
#. TRANS: Value between parentheses (phone number, website, or IM address). #. TRANS: Value between parentheses (phone number, website, or IM address).
#: lib/extendedprofilewidget.php:169 lib/extendedprofilewidget.php:182 #: lib/extendedprofilewidget.php:172 lib/extendedprofilewidget.php:185
#: lib/extendedprofilewidget.php:206 #: lib/extendedprofilewidget.php:209
#, php-format #, php-format
msgid "(%s)" msgid "(%s)"
msgstr "" msgstr ""
#. TRANS: Field label in experience area of extended profile. #. TRANS: Field label in experience area of extended profile.
#. TRANS: Field label in experience edit area of extended profile (which company does one work for). #. TRANS: Field label in experience edit area of extended profile (which company does one work for).
#: lib/extendedprofilewidget.php:325 lib/extendedprofilewidget.php:371 #: lib/extendedprofilewidget.php:331 lib/extendedprofilewidget.php:382
msgid "Company" msgid "Company"
msgstr "" msgstr ""
#. TRANS: Field label in extended profile (when did one start a position or education). #. TRANS: Field label in extended profile (when did one start a position or education).
#: lib/extendedprofilewidget.php:331 lib/extendedprofilewidget.php:379 #: lib/extendedprofilewidget.php:337 lib/extendedprofilewidget.php:390
#: lib/extendedprofilewidget.php:425 lib/extendedprofilewidget.php:480 #: lib/extendedprofilewidget.php:436 lib/extendedprofilewidget.php:496
msgid "Start" msgid "Start"
msgstr "" msgstr ""
#. TRANS: Field label in extended profile (when did one end a position or education). #. TRANS: Field label in extended profile (when did one end a position or education).
#: lib/extendedprofilewidget.php:339 lib/extendedprofilewidget.php:387 #: lib/extendedprofilewidget.php:347 lib/extendedprofilewidget.php:398
#: lib/extendedprofilewidget.php:433 lib/extendedprofilewidget.php:489 #: lib/extendedprofilewidget.php:446 lib/extendedprofilewidget.php:505
msgid "End" msgid "End"
msgstr "" msgstr ""
#. TRANS: Field value in experience area of extended profile (one still holds a position). #. TRANS: Field value in experience area of extended profile (one still holds a position).
#: lib/extendedprofilewidget.php:352 #: lib/extendedprofilewidget.php:362
msgid "(Current)" msgid "(Current)"
msgstr "" msgstr ""
#. TRANS: Checkbox label in experience edit area of extended profile (one still works at a company). #. TRANS: Checkbox label in experience edit area of extended profile (one still works at a company).
#: lib/extendedprofilewidget.php:402 #: lib/extendedprofilewidget.php:413
msgid "Current" msgid "Current"
msgstr "" msgstr ""
#. TRANS: Field label in extended profile for specifying an academic degree. #. TRANS: Field label in extended profile for specifying an academic degree.
#: lib/extendedprofilewidget.php:419 lib/extendedprofilewidget.php:463 #: lib/extendedprofilewidget.php:430 lib/extendedprofilewidget.php:479
msgid "Degree" msgid "Degree"
msgstr "" msgstr ""
#. TRANS: Field label in education area of extended profile. #. TRANS: Field label in education area of extended profile.
#. TRANS: Field label in education edit area of extended profile. #. TRANS: Field label in education edit area of extended profile.
#: lib/extendedprofilewidget.php:422 lib/extendedprofilewidget.php:471 #: lib/extendedprofilewidget.php:433 lib/extendedprofilewidget.php:487
#: actions/profilefieldsadminpanel.php:153
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. TRANS: Link description in extended profile page to add another profile element. #. TRANS: Link description in extended profile page to add another profile element.
#: lib/extendedprofilewidget.php:521 #: lib/extendedprofilewidget.php:537
msgid "Add another item" msgid "Add another item"
msgstr "" msgstr ""
#. TRANS: Field label for undefined field in extended profile. #. TRANS: Field label for undefined field in extended profile.
#: lib/extendedprofilewidget.php:632 #: lib/extendedprofilewidget.php:652
#, php-format #, php-format
msgid "TYPE: %s" msgid "TYPE: %s"
msgstr "" msgstr ""
#. TRANS: Button text for saving extended profile properties. #. TRANS: Button text for saving extended profile properties.
#: lib/extendedprofilewidget.php:646 #: lib/extendedprofilewidget.php:667
msgctxt "BUTTON" msgctxt "BUTTON"
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. TRANS: . #. TRANS: .
#. TRANS: Button title for saving extended profile properties. #. TRANS: Button title for saving extended profile properties.
#: lib/extendedprofilewidget.php:651 #: lib/extendedprofilewidget.php:672
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#. TRANS: Title for extended profile settings. #. TRANS: Title for extended profile settings.
#: actions/profiledetailsettings.php:27 #: actions/profiledetailsettings.php:29
msgid "Extended profile settings" msgid "Extended profile settings"
msgstr "" msgstr ""
#. TRANS: Message given submitting a form with an unknown action. #. TRANS: Message given submitting a form with an unknown action.
#: actions/profiledetailsettings.php:49 #: actions/profiledetailsettings.php:53
msgid "Unexpected form submission." msgid "Unexpected form submission."
msgstr "" msgstr ""
#. TRANS: Success message after saving extended profile details. #. TRANS: Success message after saving extended profile details.
#: actions/profiledetailsettings.php:97 #: actions/profiledetailsettings.php:102
msgid "Details saved." msgid "Details saved."
msgstr "" msgstr ""
#. TRANS: Exception thrown when no date was entered in a required date field. #. TRANS: Exception thrown when no date was entered in a required date field.
#. TRANS: %s is the field name. #. TRANS: %s is the field name.
#: actions/profiledetailsettings.php:108 #: actions/profiledetailsettings.php:112
#, php-format #, php-format
msgid "You must supply a date for \"%s\"." msgid "You must supply a date for \"%s\"."
msgstr "" msgstr ""
#. TRANS: Exception thrown on incorrect data input. #. TRANS: Exception thrown on incorrect data input.
#. TRANS: %1$s is a field name, %2$s is the incorrect input. #. TRANS: %1$s is a field name, %2$s is the incorrect input.
#: actions/profiledetailsettings.php:120 #: actions/profiledetailsettings.php:124
#, php-format #, php-format
msgid "Invalid date entered for \"%1$s\": %2$s." msgid "Invalid date entered for \"%1$s\": %2$s."
msgstr "" msgstr ""
#. TRANS: Exception thrown when entering an invalid URL. #. TRANS: Exception thrown when entering an invalid URL.
#. TRANS: %s is the invalid URL. #. TRANS: %s is the invalid URL.
#: actions/profiledetailsettings.php:231 #: actions/profiledetailsettings.php:241
#, php-format #, php-format
msgid "Invalid URL: %s." msgid "Invalid URL: %s."
msgstr "" msgstr ""
#. TRANS: Server error displayed when a field could not be saved in the database. #. TRANS: Server error displayed when a field could not be saved in the database.
#: actions/profiledetailsettings.php:468 actions/profiledetailsettings.php:481 #: actions/profiledetailsettings.php:484 actions/profiledetailsettings.php:497
msgid "Could not save profile details." msgid "Could not save profile details."
msgstr "" msgstr ""
#. TRANS: Validation error in form for profile settings. #. TRANS: Validation error in form for profile settings.
#. TRANS: %s is an invalid tag. #. TRANS: %s is an invalid tag.
#: actions/profiledetailsettings.php:523 #: actions/profiledetailsettings.php:539
#, php-format #, php-format
msgid "Invalid tag: \"%s\"." msgid "Invalid tag: \"%s\"."
msgstr "" msgstr ""
#. TRANS: Server error thrown when user profile settings could not be saved. #. TRANS: Server error thrown when user profile settings could not be saved.
#: actions/profiledetailsettings.php:563 #: actions/profiledetailsettings.php:578
msgid "Could not save profile." msgid "Could not save profile."
msgstr "" msgstr ""
#: actions/profilefieldsadminpanel.php:34
msgid "Profile fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:39
msgid "GNU Social custom profile fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:55
msgid ""
"Internal system name must be unique and consist of only alphanumeric "
"characters!"
msgstr ""
#: actions/profilefieldsadminpanel.php:65
msgid "There was an error with the field data."
msgstr ""
#: actions/profilefieldsadminpanel.php:97
msgid "New Profile Field"
msgstr ""
#: actions/profilefieldsadminpanel.php:106
msgid "Edit Profile Field"
msgstr ""
#: actions/profilefieldsadminpanel.php:110
msgid "Existing Custom Profile Fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:139
msgid "The title of the field"
msgstr ""
#: actions/profilefieldsadminpanel.php:145
msgid "Internal name"
msgstr ""
#: actions/profilefieldsadminpanel.php:147
msgid ""
"The alphanumeric name used internally for this field. Also the key used for "
"federation (e.g. ActivityPub and OStatus) user info."
msgstr ""
#: actions/profilefieldsadminpanel.php:155
msgid "An optional more detailed description of the field"
msgstr ""
#: actions/profilefieldsadminpanel.php:161
msgid "Type"
msgstr ""
#: actions/profilefieldsadminpanel.php:162
msgid "Text"
msgstr ""
#: actions/profilefieldsadminpanel.php:163
msgid "String"
msgstr ""
#: actions/profilefieldsadminpanel.php:164
msgid "The type of the datafield"
msgstr ""
#: actions/profilefieldsadminpanel.php:181
msgid "Save"
msgstr ""
#: actions/profilefieldsadminpanel.php:181
msgid "Save new field"
msgstr ""
#. TRANS: Link title for link on user profile. #. TRANS: Link title for link on user profile.
#: actions/profiledetail.php:49 #: actions/profiledetail.php:54
msgid "Edit extended profile settings" msgid "Edit extended profile settings"
msgstr "" msgstr ""
#. TRANS: Link text for link on user profile. #. TRANS: Link text for link on user profile.
#: actions/profiledetail.php:51 #: actions/profiledetail.php:56
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#: classes/GNUsocialProfileExtensionField.php:75
msgid "Error creating new field."
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:73
msgid "Error creating new response."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Stoor"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "احفظ"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "احفظ التفاصيل" msgstr "احفظ التفاصيل"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "أرسل"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Захаваць"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Запазване"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Enrollañ"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Enrollañ ar munudoù" msgstr "Enrollañ ar munudoù"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Desa"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Desa els detalls" msgstr "Desa els detalls"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Uložit"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Gem"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 14:33+0000\n" "PO-Revision-Date: 2019-08-10 01:46+0100\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n" "Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n" "Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Speichern"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Informationen speichern" msgstr "Informationen speichern"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Biografie von %s"
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Profilfelder"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Fehler beim Erstellen eines neuen Feldes."

View File

@ -1,227 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2012 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Exported from translatewiki.net
# Author: Erdemaslancan
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - ExtendedProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:31+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:06+0000\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. TRANS: Title for extended profile settings.
msgid "Extended profile settings"
msgstr ""
#. TRANS: Usage instructions for profile settings.
msgid ""
"You can update your personal profile info here so people know more about you."
msgstr ""
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr ""
#. TRANS: Message given submitting a form with an unknown action.
msgid "Unexpected form submission."
msgstr ""
#. TRANS: Success message after saving extended profile details.
msgid "Details saved."
msgstr ""
#. TRANS: Exception thrown when no date was entered in a required date field.
#. TRANS: %s is the field name.
#, php-format
msgid "You must supply a date for \"%s\"."
msgstr ""
#. TRANS: Exception thrown on incorrect data input.
#. TRANS: %1$s is a field name, %2$s is the incorrect input.
#, php-format
msgid "Invalid date entered for \"%1$s\": %2$s."
msgstr ""
#. TRANS: Exception thrown when entering an invalid URL.
#. TRANS: %s is the invalid URL.
#, php-format
msgid "Invalid URL: %s."
msgstr ""
#. TRANS: Server error displayed when a field could not be saved in the database.
msgid "Could not save profile details."
msgstr ""
#. TRANS: Validation error in form for profile settings.
#. TRANS: %s is an invalid tag.
#, php-format
msgid "Invalid tag: \"%s\"."
msgstr ""
#. TRANS: Server error thrown when user profile settings could not be saved.
msgid "Could not save profile."
msgstr ""
#. TRANS: Server error thrown when user profile settings tags could not be saved.
msgid "Could not save tags."
msgstr ""
#. TRANS: Link title for link on user profile.
msgid "Edit extended profile settings"
msgstr ""
#. TRANS: Link text for link on user profile.
msgid "Edit"
msgstr "Bıvurne"
#. TRANS: Plugin description.
msgid "UI extensions for additional profile fields."
msgstr ""
#. TRANS: Link text on user profile page leading to extended profile page.
msgid "More details..."
msgstr ""
#. TRANS: Title for extended profile entry deletion dialog.
msgid "Confirmation Required"
msgstr ""
#. TRANS: Confirmation text for extended profile entry deletion dialog.
msgid "Really delete this entry?"
msgstr ""
#. TRANS: Value between parentheses (phone number, website, or IM address).
#, php-format
msgid "(%s)"
msgstr "(%s)"
#. TRANS: Field label in experience area of extended profile.
#. TRANS: Field label in experience edit area of extended profile (which company does one work for).
msgid "Company"
msgstr "Şirket"
#. TRANS: Field label in extended profile (when did one start a position or education).
msgid "Start"
msgstr "Dest pêkey"
#. TRANS: Field label in extended profile (when did one end a position or education).
msgid "End"
msgstr "Qedya"
#. TRANS: Field value in experience area of extended profile (one still holds a position).
msgid "(Current)"
msgstr "(Nıkayên)"
#. TRANS: Checkbox label in experience edit area of extended profile (one still works at a company).
msgid "Current"
msgstr "Nıkayên"
#. TRANS: Field label in education area of extended profile.
#. TRANS: Field label in education edit area of extended profile.
#. TRANS: Field label for extended profile properties.
msgid "Institution"
msgstr ""
#. TRANS: Field label in extended profile for specifying an academic degree.
msgid "Degree"
msgstr ""
#. TRANS: Field label in education area of extended profile.
#. TRANS: Field label in education edit area of extended profile.
msgid "Description"
msgstr ""
#. TRANS: Link description in extended profile page to add another profile element.
msgid "Add another item"
msgstr ""
#. TRANS: Field label for undefined field in extended profile.
#, php-format
msgid "TYPE: %s"
msgstr "Babet: %s"
#. TRANS: Button text for saving extended profile properties.
msgctxt "BUTTON"
msgid "Save"
msgstr "Star ke"
#. TRANS: .
#. TRANS: Button title for saving extended profile properties.
msgid "Save details"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Phone"
msgstr "Telefun"
#. TRANS: Field label for extended profile properties (Instant Messaging).
msgid "IM"
msgstr "IM"
#. TRANS: Field label for extended profile properties.
msgid "Website"
msgstr "Websita"
#. TRANS: Field label for extended profile properties.
msgid "Employer"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Personal"
msgstr "Personel"
#. TRANS: Field label for extended profile properties.
msgid "Full name"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Title"
msgstr "Sername"
#. TRANS: Field label for extended profile properties.
msgid "Manager"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Location"
msgstr "Lokasyon"
#. TRANS: Field label for extended profile properties.
msgid "Bio"
msgstr "Bio"
#. TRANS: Field label for extended profile properties.
msgid "Tags"
msgstr "Etiketi"
#. TRANS: Field label for extended profile properties.
msgid "Contact"
msgstr "İrtibat"
#. TRANS: Field label for extended profile properties.
msgid "Birthday"
msgstr "Rocbiyayış"
#. TRANS: Field label for extended profile properties.
msgid "Spouse's name"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Kids' names"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Work experience"
msgstr ""
#. TRANS: Field label for extended profile properties.
msgid "Education"
msgstr "Terbiyet"

View File

@ -287,3 +287,24 @@ msgstr "Αποθήκευση"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-03-07 15:41+0000\n" "PO-Revision-Date: 2019-08-10 01:49+0100\n"
"Last-Translator: Luke Hollins <luke@farcry.ca>\n" "Last-Translator: Luke Hollins <luke@farcry.ca>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n" "Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -288,3 +288,24 @@ msgstr "Save"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Save details" msgstr "Save details"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s's Bio."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Profile Fields"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Custom profile fields"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Error creating new response."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Error creating new field."

View File

@ -287,3 +287,24 @@ msgstr "Konservi"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-28 16:21+0000\n" "PO-Revision-Date: 2019-08-10 01:48+0100\n"
"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n" "Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -288,3 +288,24 @@ msgstr "Guardar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Guardar los detalles" msgstr "Guardar los detalles"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Biografía de %s. "
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Campos de perfil "
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Campos de perfil personalizados"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Error creando una nueva respuesta. "
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Error creando un nuevo campo. "

View File

@ -287,3 +287,24 @@ msgstr "Gorde"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Xehetasunak gorde" msgstr "Xehetasunak gorde"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "ذخیره‌کردن"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Tallenna"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-05-09 18:23+0000\n" "PO-Revision-Date: 2019-08-10 01:49+0100\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n" "Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: French (http://www.transifex.com/gnu-social/gnu-social/language/fr/)\n" "Language-Team: French (http://www.transifex.com/gnu-social/gnu-social/language/fr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Enregistrer"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Enregistrer les détails" msgstr "Enregistrer les détails"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s's Bio."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:15+0000\n" "PO-Revision-Date: 2019-08-10 01:49+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Friulian (http://www.transifex.com/gnu-social/gnu-social/language/fur/)\n" "Language-Team: Friulian (http://www.transifex.com/gnu-social/gnu-social/language/fur/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Salve"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s's Bio."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Gardar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Gardar os detalles" msgstr "Gardar os detalles"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "שמור"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Składować"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Mentés"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Salveguardar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Salveguardar detalios" msgstr "Salveguardar detalios"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-06-04 15:30+0000\n" "PO-Revision-Date: 2019-08-10 01:46+0100\n"
"Last-Translator: zk <zamani.karmana@gmail.com>\n" "Last-Translator: zk <zamani.karmana@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/gnu-social/gnu-social/language/id/)\n" "Language-Team: Indonesian (http://www.transifex.com/gnu-social/gnu-social/language/id/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -288,3 +288,24 @@ msgstr "Simpan"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Bio %s."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-06-17 14:49+0000\n" "PO-Revision-Date: 2019-08-10 01:47+0100\n"
"Last-Translator: Ciencisto Dementa <maliktunga@users.noreply.github.com>\n" "Last-Translator: Ciencisto Dementa <maliktunga@users.noreply.github.com>\n"
"Language-Team: Ido (http://www.transifex.com/gnu-social/gnu-social/language/io/)\n" "Language-Team: Ido (http://www.transifex.com/gnu-social/gnu-social/language/io/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -288,3 +288,24 @@ msgstr "Konservar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Konservar la detali" msgstr "Konservar la detali"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "La biografio di %s."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Profilo-feldi"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Personalizita profilo-feldi"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Eroro dum la kreo dil nova respondo."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Eroro dum la kreo dil nova feldo."

View File

@ -287,3 +287,24 @@ msgstr "Vista"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Salva"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Salvare i dettagli" msgstr "Salvare i dettagli"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "保存"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "詳細を保存" msgstr "詳細を保存"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "შენახვა"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "저장"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Späicheren"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Išsaugoti"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Tehirizina"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Зачувај"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Зачувај податоци" msgstr "Зачувај податоци"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "സേവ് ചെയ്യുക"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Simpan"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "သိမ်းရန်"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Lagre"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Opslaan"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Gegevens opslaan" msgstr "Gegevens opslaan"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Lagra"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Zapisz"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Zapisz szczegóły" msgstr "Zapisz szczegóły"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Gravar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:15+0000\n" "PO-Revision-Date: 2019-08-10 01:47+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/gnu-social/gnu-social/language/pt_BR/)\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/gnu-social/gnu-social/language/pt_BR/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Salvar"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Bio de %s."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Campos do Perfil"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Campos de perfil personalizados"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Erro ao criar nova resposta."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Erro ao criar novo campo."

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Сохранить"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Сачувај"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-09-16 01:19+0000\n" "PO-Revision-Date: 2019-08-10 01:48+0100\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n" "Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Swedish (http://www.transifex.com/gnu-social/gnu-social/language/sv/)\n" "Language-Team: Swedish (http://www.transifex.com/gnu-social/gnu-social/language/sv/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Spara"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Spara detaljer" msgstr "Spara detaljer"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s's Bio."
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Profilfält"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Anpassade profil-fält"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Fel när ett nytt svar skulle skapas."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Fel vid skapande av nytt fält."

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "భద్రపరచు"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "వివరాలను భద్రపరచు" msgstr "వివరాలను భద్రపరచు"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Sagipin"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Sagipin ang mga detalye" msgstr "Sagipin ang mga detalye"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:15+0000\n" "PO-Revision-Date: 2019-08-10 01:47+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish (http://www.transifex.com/gnu-social/gnu-social/language/tr/)\n" "Language-Team: Turkish (http://www.transifex.com/gnu-social/gnu-social/language/tr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Kaydet"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s kullanıcısının profili"
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Profil Alanları"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Özel profil alanları"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Yeni yanıt oluşturulurken bir hata oluştu."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Yeni alan oluşturulurken bir hata oluştu."

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: GNU social\n" "Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n" "POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 14:33+0000\n" "PO-Revision-Date: 2019-08-10 01:48+0100\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n" "Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Ukrainian (http://www.transifex.com/gnu-social/gnu-social/language/uk/)\n" "Language-Team: Ukrainian (http://www.transifex.com/gnu-social/gnu-social/language/uk/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -287,3 +287,24 @@ msgstr "Зберегти"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "Зберегти деталі" msgstr "Зберегти деталі"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Біографія %s"
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr "Поля профілю"
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr "Власні поля профілю"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Помилка при створенні нової відповіді."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Помилка створення нового поля."

View File

@ -287,3 +287,24 @@ msgstr "تبدیلیاں محفوظ کریں"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "Lưu"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr "保存"
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -287,3 +287,24 @@ msgstr ""
#: lib/extendedprofilewidget.php:652 #: lib/extendedprofilewidget.php:652
msgid "Save details" msgid "Save details"
msgstr "" msgstr ""
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsModule.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsModule.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,135 +0,0 @@
<?php
// This file is part of GNU social - https://www.gnu.org/software/social
//
// GNU social is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// GNU social is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
/**
* Allows administrators to define additional profile fields for the users of a GNU social installation.
*
* @category Widget
* @package GNU social
* @author Max Shinn <trombonechamp@gmail.com>
* @author Diogo Cordeiro <diogo@fc.up.pt>
* @copyright 2011-2019 Free Software Foundation, Inc http://www.fsf.org
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
*/
defined('GNUSOCIAL') || die();
include_once __DIR__ . '/lib/profiletools.php';
class GNUsocialProfileExtensionsPlugin extends Plugin
{
public function onCheckSchema(): bool
{
$schema = Schema::get();
$schema->ensureTable('gnusocialprofileextensionfield', GNUsocialProfileExtensionField::schemaDef());
$schema->ensureTable('gnusocialprofileextensionresponse', GNUsocialProfileExtensionResponse::schemaDef());
return true;
}
public function onRouterInitialized($m): bool
{
$m->connect('admin/profilefields', ['action' => 'profilefieldsAdminPanel']);
return true;
}
public function onEndProfileFormData($action): bool
{
$fields = GNUsocialProfileExtensionField::allFields();
$user = common_current_user();
$profile = $user->getProfile();
gnusocial_profile_merge($profile);
foreach ($fields as $field) {
$action->elementStart('li');
$fieldname = $field->systemname;
if ($field->type == 'str') {
$action->input(
$fieldname,
$field->title,
($action->arg($fieldname)) ? $action->arg($fieldname) : $profile->$fieldname,
$field->description
);
} elseif ($field->type == 'text') {
$action->textarea(
$fieldname,
$field->title,
($action->arg($fieldname)) ? $action->arg($fieldname) : $profile->$fieldname,
$field->description
);
}
$action->elementEnd('li');
}
return true;
}
public function onEndProfileSaveForm($action): bool
{
$fields = GNUsocialProfileExtensionField::allFields();
$user = common_current_user();
$profile = $user->getProfile();
foreach ($fields as $field) {
$val = $action->trimmed($field->systemname);
$response = new GNUsocialProfileExtensionResponse();
$response->profile_id = $profile->id;
$response->extension_id = $field->id;
if ($response->find()) {
$response->fetch();
$response->value = $val;
if ($response->validate()) {
if (empty($val)) {
$response->delete();
} else {
$response->update();
}
}
} else {
$response->value = $val;
$response->insert();
}
}
return true;
}
public function onEndShowStyles($action): bool
{
$action->cssLink('/plugins/GNUsocialProfileExtensions/res/style.css');
return true;
}
public function onEndShowScripts($action): bool
{
$action->script('plugins/GNUsocialProfileExtensions/js/profile.js');
return true;
}
public function onEndAdminPanelNav($nav): bool
{
if (AdminPanelAction::canAdmin('profilefields')) {
$action_name = $nav->action->trimmed('action');
$nav->out->menuItem(
'/admin/profilefields',
_m('Profile Fields'),
_m('Custom profile fields'),
$action_name == 'profilefieldsadminpanel',
'nav_profilefields_admin_panel'
);
}
return true;
}
}

View File

@ -1,15 +0,0 @@
GNU social Profile Extensions
=============================
Allows administrators to define additional profile fields for the
users of a GNU social installation.
Installation
------------
To enable, add the following lines to your config.php file:
addPlugin('GNUsocialProfileExtensions');
$config['admin']['panels'][] = 'profilefields';

View File

@ -1,114 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-14 14:54+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:34
msgid "Profile fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:39
msgid "GNU Social custom profile fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:55
msgid ""
"Internal system name must be unique and consist of only alphanumeric "
"characters!"
msgstr ""
#: actions/profilefieldsadminpanel.php:65
msgid "There was an error with the field data."
msgstr ""
#: actions/profilefieldsadminpanel.php:97
msgid "New Profile Field"
msgstr ""
#: actions/profilefieldsadminpanel.php:106
msgid "Edit Profile Field"
msgstr ""
#: actions/profilefieldsadminpanel.php:110
msgid "Existing Custom Profile Fields"
msgstr ""
#: actions/profilefieldsadminpanel.php:137
msgid "Title"
msgstr ""
#: actions/profilefieldsadminpanel.php:139
msgid "The title of the field"
msgstr ""
#: actions/profilefieldsadminpanel.php:145
msgid "Internal name"
msgstr ""
#: actions/profilefieldsadminpanel.php:147
msgid ""
"The alphanumeric name used internally for this field. Also the key used in "
"OStatus user info. (optional)"
msgstr ""
#: actions/profilefieldsadminpanel.php:153
msgid "Description"
msgstr ""
#: actions/profilefieldsadminpanel.php:155
msgid "An optional more detailed description of the field"
msgstr ""
#: actions/profilefieldsadminpanel.php:161
msgid "Type"
msgstr ""
#: actions/profilefieldsadminpanel.php:162
msgid "Text"
msgstr ""
#: actions/profilefieldsadminpanel.php:163
msgid "String"
msgstr ""
#: actions/profilefieldsadminpanel.php:164
msgid "The type of the datafield"
msgstr ""
#: actions/profilefieldsadminpanel.php:181
msgid "Save"
msgstr ""
#: actions/profilefieldsadminpanel.php:181
msgid "Save new field"
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:75
msgid "Error creating new field."
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:73
msgid "Error creating new response."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Afrikaans (http://www.transifex.com/gnu-social/gnu-social/language/af/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic (http://www.transifex.com/gnu-social/gnu-social/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic (Egypt) (http://www.transifex.com/gnu-social/gnu-social/language/ar_EG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar_EG\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Asturian (http://www.transifex.com/gnu-social/gnu-social/language/ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Belarusian (Tarask) (http://www.transifex.com/gnu-social/gnu-social/language/be@tarask/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be@tarask\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian (http://www.transifex.com/gnu-social/gnu-social/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/gnu-social/gnu-social/language/bn_IN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bn_IN\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Breton (http://www.transifex.com/gnu-social/gnu-social/language/br/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: br\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan (http://www.transifex.com/gnu-social/gnu-social/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Czech (http://www.transifex.com/gnu-social/gnu-social/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish (http://www.transifex.com/gnu-social/gnu-social/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,40 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# D P, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-18 23:33+0000\n"
"Last-Translator: D P\n"
"Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Biografie von %s"
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr "Profilfelder"
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Fehler beim Erstellen eines neuen Feldes."

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek (http://www.transifex.com/gnu-social/gnu-social/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,40 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Luke Hollins <luke@farcry.ca>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-03-07 19:41+0000\n"
"Last-Translator: Luke Hollins <luke@farcry.ca>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "%s's Bio."
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr "Profile Fields"
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr "Custom profile fields"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Error creating new response."
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Error creating new field."

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto (http://www.transifex.com/gnu-social/gnu-social/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

View File

@ -1,41 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Ismael Moral <jastertdc@gmail.com>, 2015
# Juan Riquelme González <soulchainer@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-27 12:21+0000\n"
"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr "Biografía de %s. "
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr "Campos de perfil "
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr "Campos de perfil personalizados"
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr "Error creando una nueva respuesta. "
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr "Error creando un nuevo campo. "

View File

@ -1,39 +0,0 @@
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-06 16:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Basque (http://www.transifex.com/gnu-social/gnu-social/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/bio.php:62
#, php-format
msgid "%s's Bio."
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:124
msgid "Profile Fields"
msgstr ""
#: GNUsocialProfileExtensionsPlugin.php:125
msgid "Custom profile fields"
msgstr ""
#: classes/GNUsocialProfileExtensionResponse.php:78
msgid "Error creating new response."
msgstr ""
#: classes/GNUsocialProfileExtensionField.php:79
msgid "Error creating new field."
msgstr ""

Some files were not shown because too many files have changed in this diff Show More