Merge branch 'develop'

This commit is contained in:
tom79 2019-05-04 19:20:49 +02:00
commit afb515bbc7
66 changed files with 828 additions and 724 deletions

View File

@ -7,8 +7,8 @@ android {
applicationId "fr.gouv.etalab.mastodon"
minSdkVersion 16
targetSdkVersion 28
versionCode 258
versionName "1.80.1"
versionCode 259
versionName "1.80.2"
multiDexEnabled true
}
dexOptions {

View File

@ -49,48 +49,28 @@ import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.SwitchCompat;
import android.support.v7.widget.Toolbar;
import android.text.Editable;
import android.text.InputFilter;
import android.text.TextWatcher;
import android.util.Patterns;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import es.dmoral.toasty.Toasty;
import fr.gouv.etalab.mastodon.R;
import fr.gouv.etalab.mastodon.asynctasks.ManageFiltersAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.ManageListsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveAccountsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveFeedsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveInstanceAsyncTask;
@ -104,12 +84,10 @@ import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.client.Entities.Account;
import fr.gouv.etalab.mastodon.client.Entities.Filters;
import fr.gouv.etalab.mastodon.client.Entities.ManageTimelines;
import fr.gouv.etalab.mastodon.client.Entities.RemoteInstance;
import fr.gouv.etalab.mastodon.client.Entities.Results;
import fr.gouv.etalab.mastodon.client.Entities.Status;
import fr.gouv.etalab.mastodon.client.Entities.TagTimeline;
import fr.gouv.etalab.mastodon.client.Entities.Version;
import fr.gouv.etalab.mastodon.client.HttpsConnection;
import fr.gouv.etalab.mastodon.fragments.DisplayAccountsFragment;
import fr.gouv.etalab.mastodon.fragments.DisplayBookmarksFragment;
import fr.gouv.etalab.mastodon.fragments.DisplayDraftsFragment;
@ -131,7 +109,6 @@ import fr.gouv.etalab.mastodon.helper.CrossActions;
import fr.gouv.etalab.mastodon.helper.Helper;
import fr.gouv.etalab.mastodon.helper.MenuFloating;
import fr.gouv.etalab.mastodon.interfaces.OnFilterActionInterface;
import fr.gouv.etalab.mastodon.interfaces.OnListActionInterface;
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveEmojiAccountInterface;
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveInstanceInterface;
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveMetaDataInterface;
@ -141,7 +118,6 @@ import fr.gouv.etalab.mastodon.interfaces.OnUpdateAccountInfoInterface;
import fr.gouv.etalab.mastodon.services.BackupStatusService;
import fr.gouv.etalab.mastodon.services.LiveNotificationService;
import fr.gouv.etalab.mastodon.sqlite.AccountDAO;
import fr.gouv.etalab.mastodon.sqlite.InstancesDAO;
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
import fr.gouv.etalab.mastodon.sqlite.TimelinesDAO;
@ -175,7 +151,7 @@ import static fr.gouv.etalab.mastodon.sqlite.Sqlite.importDB;
public abstract class BaseMainActivity extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener, OnUpdateAccountInfoInterface, OnRetrieveMetaDataInterface, OnRetrieveInstanceInterface, OnRetrieveRemoteAccountInterface, OnRetrieveEmojiAccountInterface, OnFilterActionInterface, OnListActionInterface, OnSyncTimelineInterface {
implements NavigationView.OnNavigationItemSelectedListener, OnUpdateAccountInfoInterface, OnRetrieveMetaDataInterface, OnRetrieveInstanceInterface, OnRetrieveRemoteAccountInterface, OnRetrieveEmojiAccountInterface, OnFilterActionInterface, OnSyncTimelineInterface {
private FloatingActionButton toot, delete_all, add_new;
private HashMap<String, String> tagTile = new HashMap<>();
@ -188,31 +164,25 @@ public abstract class BaseMainActivity extends BaseActivity
private ViewPager viewPager;
private RelativeLayout main_app_container;
public static List<Filters> filters = new ArrayList<>();
public static int countNewStatus;
public static int countNewNotifications;
public static String lastHomeId = null, lastNotificationId = null;
private AppBarLayout appBar;
private String userId;
private String instance;
public int countPage;
private PagerAdapter adapter;
private String oldSearch;
boolean isLoadingInstance = false;
private ImageView delete_instance;
public static String displayPeertube = null;
private PopupMenu popup;
private String instance_id;
private int style;
private Activity activity;
public static HashMap<Integer, RetrieveFeedsAsyncTask.Type> typePosition = new HashMap<>();
private FloatingActionButton federatedTimelines;
public static UpdateAccountInfoAsyncTask.SOCIAL social;
private final int PICK_IMPORT = 5556;
private AlertDialog.Builder dialogBuilderOptin;
private List<ManageTimelines> timelines;
public static HashMap<Integer, Fragment> mPageReferenceMap = new HashMap<>();
private static boolean notificationChecked = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -424,10 +394,6 @@ public abstract class BaseMainActivity extends BaseActivity
delete_instance.setVisibility(View.GONE);
Helper.switchLayout(BaseMainActivity.this);
tootShow();
if( !displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
if( tab.getCustomView() != null) {
@ -558,10 +524,6 @@ public abstract class BaseMainActivity extends BaseActivity
delete_instance.setVisibility(View.GONE);
Helper.switchLayout(BaseMainActivity.this);
tootShow();
if( !displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
if( tab.getCustomView() != null) {
@ -618,7 +580,6 @@ public abstract class BaseMainActivity extends BaseActivity
style = R.style.Dialog;
}
displayFollowInstances();
if( theme == THEME_LIGHT){
changeDrawableColor(getApplicationContext(), R.drawable.ic_home,R.color.dark_icon);
@ -1079,6 +1040,7 @@ public abstract class BaseMainActivity extends BaseActivity
editor.putBoolean(Helper.SET_NOTIF_ASK, set_push_notification.isChecked());
editor.putBoolean(Helper.SET_NOTIF_MENTION, set_push_notification.isChecked());
editor.putBoolean(Helper.SET_NOTIF_SHARE, set_push_notification.isChecked());
editor.putBoolean(Helper.SET_NOTIF_POLL, set_push_notification.isChecked());
// editor.putBoolean(Helper.SET_NOTIF_HOMETIMELINE, set_push_hometimeline.isChecked());
editor.putBoolean(Helper.SET_POPUP_PUSH, true);
editor.apply();
@ -1133,9 +1095,7 @@ public abstract class BaseMainActivity extends BaseActivity
if (extras.getInt(INTENT_ACTION) == NOTIFICATION_INTENT){
changeUser(BaseMainActivity.this, userIdIntent, true); //Connects the account which is related to the notification
unCheckAllMenuItems(navigationView);
if( tabLayout.getTabAt(1) != null)
//noinspection ConstantConditions
tabLayout.getTabAt(1).select();
notificationChecked = true;
if( extras.getString(INTENT_TARGETED_ACCOUNT) != null ){
Intent intentShow = new Intent(BaseMainActivity.this, ShowAccountActivity.class);
Bundle b = new Bundle();
@ -1705,38 +1665,6 @@ public abstract class BaseMainActivity extends BaseActivity
}
}
@Override
public void onActionDone(ManageListsAsyncTask.action actionType, APIResponse apiResponse, int statusCode) {
if( apiResponse.getError() != null){
return;
}
if( actionType == ManageListsAsyncTask.action.GET_LIST && popup != null) {
if (apiResponse.getLists() != null && apiResponse.getLists().size() > 0) {
SubMenu submList = popup.getMenu().findItem(R.id.action_show_list).getSubMenu();
int l = 0;
for (fr.gouv.etalab.mastodon.client.Entities.List list : apiResponse.getLists()) {
MenuItem itemPlaceHolder = submList.findItem(R.id.list_instances);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submList.add(0, l, Menu.NONE, list.getTitle());
item.setIcon(R.drawable.ic_list_instance);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(BaseMainActivity.this, ListActivity.class);
Bundle b = new Bundle();
b.putString("id", list.getId());
b.putString("title", list.getTitle());
intent.putExtras(b);
startActivity(intent);
return false;
}
});
l++;
}
}
}
}
@ -1758,7 +1686,7 @@ public abstract class BaseMainActivity extends BaseActivity
position = (timelines.size()-1);
if( position < 0)
position = 0;
setTitle("");
/*if( !optimize_loading)
viewPager.setOffscreenPageLimit(countPage);*/
viewPager.setOffscreenPageLimit(2);
@ -1777,24 +1705,23 @@ public abstract class BaseMainActivity extends BaseActivity
Helper.switchLayout(BaseMainActivity.this);
if( manageTimelines.size() > tab.getPosition() && (manageTimelines.get(tab.getPosition()).getType() == ManageTimelines.Type.NOTIFICATION ||manageTimelines.get(tab.getPosition()).getType() == ManageTimelines.Type.ART || manageTimelines.get(tab.getPosition()).getType() == ManageTimelines.Type.PEERTUBE)) {
toot.hide();
federatedTimelines.hide();
}else {
tootShow();
if( !displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
if( tab.getCustomView() != null) {
ImageView icon = tab.getCustomView().findViewById(R.id.tab_icon);
TextView tv = tab.getCustomView().findViewById(R.id.host_name);
if( icon != null)
if( theme == THEME_BLACK)
icon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_icon), PorterDuff.Mode.SRC_IN);
else
icon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.mastodonC4), PorterDuff.Mode.SRC_IN);
else if( tv != null){
tv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.mastodonC4));
}
}
}
@ -1802,11 +1729,18 @@ public abstract class BaseMainActivity extends BaseActivity
public void onTabUnselected(TabLayout.Tab tab) {
if( tab.getCustomView() != null) {
ImageView icon = tab.getCustomView().findViewById(R.id.tab_icon);
TextView tv = tab.getCustomView().findViewById(R.id.host_name);
if( icon != null)
if( theme == THEME_LIGHT)
icon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_icon), PorterDuff.Mode.SRC_IN);
else
icon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_text), PorterDuff.Mode.SRC_IN);
else if( tv != null){
if( theme == THEME_LIGHT)
tv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_icon));
else
tv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_text));
}
}
}
@ -1822,13 +1756,8 @@ public abstract class BaseMainActivity extends BaseActivity
}
if( manageTimelines.size() > tab.getPosition() && (manageTimelines.get(tab.getPosition()).getType() == ManageTimelines.Type.ART || manageTimelines.get(tab.getPosition()).getType() == ManageTimelines.Type.PEERTUBE)) {
toot.hide();
federatedTimelines.hide();
}else {
tootShow();
if( !displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
}
if( viewPager.getAdapter() != null) {
@ -1920,6 +1849,19 @@ public abstract class BaseMainActivity extends BaseActivity
}
}
});
if( notificationChecked){
notificationChecked = false;
int i = 0;
for(ManageTimelines tl: timelines){
if( tl.getType() == ManageTimelines.Type.NOTIFICATION){
if( tabLayout.getTabAt(i) != null) {
tabLayout.getTabAt(i).select();
}
break;
}
i++;
}
}
}
/**
@ -2137,17 +2079,11 @@ public abstract class BaseMainActivity extends BaseActivity
if( social == UpdateAccountInfoAsyncTask.SOCIAL.PEERTUBE ||social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA|| social == UpdateAccountInfoAsyncTask.SOCIAL.GNU|| social == UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA) {
if (display) {
tootShow();
if (!displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
} else {
toot.hide();
federatedTimelines.hide();
}
}else {
toot.hide();
federatedTimelines.hide();
}
}
public void tootShow(){
@ -2157,13 +2093,7 @@ public abstract class BaseMainActivity extends BaseActivity
toot.hide();
}
}
public void federatedTimelinesShow(){
if( social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
federatedTimelines.show();
}else{
federatedTimelines.hide();
}
}
@ -2171,438 +2101,5 @@ public abstract class BaseMainActivity extends BaseActivity
return toot.getVisibility() == View.VISIBLE;
}
public void refreshButton(){
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE);
FloatingActionButton federatedTimelines = findViewById(R.id.federated_timeline);
boolean displayFollowInstance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true);
if( !displayFollowInstance)
federatedTimelines.hide();
else
federatedTimelinesShow();
}
private void displayFollowInstances(){
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE);
SQLiteDatabase db = Sqlite.getInstance(BaseMainActivity.this, DB_NAME, null, Sqlite.DB_VERSION).open();
federatedTimelines = findViewById(R.id.federated_timeline);
federatedTimelinesShow();
delete_instance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
String title = toolbarTitle.getText().toString();
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(BaseMainActivity.this, style);
dialogBuilder.setPositiveButton(R.string.validate, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
new InstancesDAO(BaseMainActivity.this, db).remove(instance_id);
BaseMainActivity.this.onBackPressed();
}
});
dialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
dialogBuilder.setTitle(R.string.delete_instance);
dialogBuilder.setMessage(getString(R.string.warning_delete_instance, title));
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.show();
}catch (Exception e){
Toasty.error(BaseMainActivity.this, getString(R.string.toast_error), Toast.LENGTH_SHORT).show();
}
}
});
boolean displayFollowInstance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true);
if( !displayFollowInstance)
federatedTimelines.hide();
federatedTimelines.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if( social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA)
new ManageListsAsyncTask(BaseMainActivity.this, ManageListsAsyncTask.action.GET_LIST, null, null, null, null, BaseMainActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
SQLiteDatabase db = Sqlite.getInstance(BaseMainActivity.this, DB_NAME, null, Sqlite.DB_VERSION).open();
new InstancesDAO(BaseMainActivity.this, db).cleanDoublon();
List<RemoteInstance> remoteInstances = new InstancesDAO(BaseMainActivity.this, db).getAllInstances();
popup = new PopupMenu(BaseMainActivity.this, federatedTimelines);
popup.getMenuInflater()
.inflate(R.menu.remote_instances, popup.getMenu());
try {
@SuppressLint("PrivateApi") Method method = popup.getMenu().getClass().getDeclaredMethod("setOptionalIconsVisible", boolean.class);
method.setAccessible(true);
method.invoke(popup.getMenu(), true);
} catch (Exception e) {
e.printStackTrace();
}
if(remoteInstances != null) {
SubMenu submMastodon = popup.getMenu().findItem(R.id.action_show_mastodon).getSubMenu();
SubMenu submPeertube = popup.getMenu().findItem(R.id.action_show_peertube).getSubMenu();
SubMenu submPixelfed = popup.getMenu().findItem(R.id.action_show_pixelfed).getSubMenu();
SubMenu submMisskey = popup.getMenu().findItem(R.id.action_show_misskey).getSubMenu();
SubMenu submChannel = popup.getMenu().findItem(R.id.action_show_channel).getSubMenu();
int i = 0, j = 0 , k = 0, l = 0 , m = 0;
for (RemoteInstance remoteInstance : remoteInstances) {
if (remoteInstance.getType() == null || remoteInstance.getType().equals("MASTODON")) {
MenuItem itemPlaceHolder = submMastodon.findItem(R.id.mastodon_instances);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submMastodon.add(0, i, Menu.NONE, remoteInstance.getHost());
item.setIcon(R.drawable.mastodon_icon_item);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", remoteInstance.getHost());
statusFragment.setArguments(bundle);
String fragmentTag = "REMOTE_INSTANCE";
instance_id = remoteInstance.getDbID();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
delete_instance.setVisibility(View.VISIBLE);
toolbarTitle.setText(remoteInstance.getHost());
return false;
}
});
i++;
}
if (remoteInstance.getType() == null || remoteInstance.getType().equals("PEERTUBE_CHANNEL")) {
MenuItem itemPlaceHolder = submChannel.findItem(R.id.channel_instances);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submChannel.add(0, k, Menu.NONE, remoteInstance.getId() + " - " +remoteInstance.getHost());
item.setIcon(R.drawable.ic_list_instance);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", remoteInstance.getHost());
bundle.putString("remote_channel_name", remoteInstance.getId());
bundle.putString("instanceType", "PEERTUBE");
statusFragment.setArguments(bundle);
instance_id = remoteInstance.getDbID();
String fragmentTag = "REMOTE_INSTANCE";
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
delete_instance.setVisibility(View.VISIBLE);
toolbarTitle.setText(remoteInstance.getHost());
return false;
}
});
k++;
}
if (remoteInstance.getType() == null || remoteInstance.getType().equals("PIXELFED")) {
MenuItem itemPlaceHolder = submPixelfed.findItem(R.id.pixelfed_instance);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submPixelfed.add(0, j, Menu.NONE, remoteInstance.getHost());
item.setIcon(R.drawable.pixelfed);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", remoteInstance.getHost());
bundle.putString("instanceType", "PIXELFED");
statusFragment.setArguments(bundle);
String fragmentTag = "REMOTE_INSTANCE";
instance_id = remoteInstance.getDbID();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
delete_instance.setVisibility(View.VISIBLE);
toolbarTitle.setText(remoteInstance.getHost());
return false;
}
});
j++;
}
if (remoteInstance.getType() == null || remoteInstance.getType().equals("MISSKEY")) {
MenuItem itemPlaceHolder = submMisskey.findItem(R.id.misskey_instance);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submMisskey.add(0, l, Menu.NONE, remoteInstance.getHost());
item.setIcon(R.drawable.misskey);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", remoteInstance.getHost());
statusFragment.setArguments(bundle);
bundle.putString("instanceType", "MISSKEY");
String fragmentTag = "REMOTE_INSTANCE";
instance_id = remoteInstance.getDbID();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
delete_instance.setVisibility(View.VISIBLE);
toolbarTitle.setText(remoteInstance.getHost());
return false;
}
});
l++;
}
if (remoteInstance.getType() == null || remoteInstance.getType().equals("PEERTUBE")) {
MenuItem itemPlaceHolder = submPeertube.findItem(R.id.peertube_instances);
if( itemPlaceHolder != null)
itemPlaceHolder.setVisible(false);
MenuItem item = submPeertube.add(0, m, Menu.NONE, remoteInstance.getHost());
item.setIcon(R.drawable.peertube_icon);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", remoteInstance.getHost());
statusFragment.setArguments(bundle);
String fragmentTag = "REMOTE_INSTANCE";
bundle.putString("instanceType", "PEERTUBE");
instance_id = remoteInstance.getDbID();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
delete_instance.setVisibility(View.VISIBLE);
toolbarTitle.setText(remoteInstance.getHost());
return false;
}
});
m++;
}
}
}
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add_instance:
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(BaseMainActivity.this, style);
LayoutInflater inflater = getLayoutInflater();
@SuppressLint("InflateParams") View dialogView = inflater.inflate(R.layout.search_instance, null);
dialogBuilder.setView(dialogView);
AutoCompleteTextView instance_list = dialogView.findViewById(R.id.search_instance);
//Manage download of attachments
RadioGroup radioGroup = dialogView.findViewById(R.id.set_attachment_group);
instance_list.setFilters(new InputFilter[]{new InputFilter.LengthFilter(60)});
dialogBuilder.setPositiveButton(R.string.validate, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), DB_NAME, null, Sqlite.DB_VERSION).open();
String instanceName = instance_list.getText().toString().trim();
new Thread(new Runnable(){
@Override
public void run() {
try {
if(radioGroup.getCheckedRadioButtonId() == R.id.mastodon_instance)
new HttpsConnection(BaseMainActivity.this).get("https://" + instanceName + "/api/v1/timelines/public?local=true", 10, null, null);
else if( radioGroup.getCheckedRadioButtonId() == R.id.peertube_instance)
new HttpsConnection(BaseMainActivity.this).get("https://" + instanceName + "/api/v1/videos/", 10, null, null);
else if( radioGroup.getCheckedRadioButtonId() == R.id.pixelfed_instance) {
new HttpsConnection(BaseMainActivity.this).get("https://" + instanceName + "/api/v1/timelines/public", 10, null, null);
}else if( radioGroup.getCheckedRadioButtonId() == R.id.misskey_instance) {
new HttpsConnection(BaseMainActivity.this).post("https://" + instanceName + "/api/notes/local-timeline", 10, null, null);
}
runOnUiThread(new Runnable() {
public void run() {
JSONObject resobj;
dialog.dismiss();
DisplayStatusFragment statusFragment;
Bundle bundle = new Bundle();
statusFragment = new DisplayStatusFragment();
if(radioGroup.getCheckedRadioButtonId() == R.id.mastodon_instance) {
new InstancesDAO(BaseMainActivity.this, db).insertInstance(instanceName, "MASTODON");
bundle.putString("instanceType", "MASTODON");
}else if( radioGroup.getCheckedRadioButtonId() == R.id.peertube_instance) {
new InstancesDAO(BaseMainActivity.this, db).insertInstance(instanceName, "PEERTUBE");
bundle.putString("instanceType", "PEERTUBE");
} else if( radioGroup.getCheckedRadioButtonId() == R.id.pixelfed_instance) {
new InstancesDAO(BaseMainActivity.this, db).insertInstance(instanceName, "PIXELFED");
bundle.putString("instanceType", "PIXELFED");
} else if( radioGroup.getCheckedRadioButtonId() == R.id.misskey_instance) {
new InstancesDAO(BaseMainActivity.this, db).insertInstance(instanceName, "MISSKEY");
bundle.putString("instanceType", "MISSKEY");
}
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE);
bundle.putString("remote_instance", instanceName);
statusFragment.setArguments(bundle);
String fragmentTag = "REMOTE_INSTANCE";
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main_app_container, statusFragment, fragmentTag).commit();
main_app_container.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.GONE);
delete_instance.setVisibility(View.VISIBLE);
tabLayout.setVisibility(View.GONE);
toolbarTitle.setVisibility(View.VISIBLE);
toolbarTitle.setText(instanceName);
}
});
} catch (final Exception e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
Toasty.warning(getApplicationContext(), getString(R.string.toast_instance_unavailable),Toast.LENGTH_LONG).show();
}
});
}
}
}).start();
}
});
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
//Hide keyboard
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
assert imm != null;
imm.hideSoftInputFromWindow(instance_list.getWindowToken(), 0);
}
});
if( alertDialog.getWindow() != null )
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
alertDialog.show();
instance_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
oldSearch = parent.getItemAtPosition(position).toString().trim();
}
});
instance_list.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Pattern host = Pattern.compile("([\\da-z\\.-]+\\.[a-z\\.]{2,12})");
Matcher matcher = host.matcher(s.toString().trim());
if( s.toString().trim().length() == 0 || !matcher.find()) {
alertDialog.getButton(
AlertDialog.BUTTON_POSITIVE).setEnabled(false);
} else {
// Something into edit text. Enable the button.
alertDialog.getButton(
AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
if (s.length() > 2 && !isLoadingInstance) {
final String action = "/instances/search";
final HashMap<String, String> parameters = new HashMap<>();
parameters.put("q", s.toString().trim());
parameters.put("count", String.valueOf(1000));
parameters.put("name", String.valueOf(true));
isLoadingInstance = true;
if( oldSearch == null || !oldSearch.equals(s.toString().trim()))
new Thread(new Runnable() {
@Override
public void run() {
try {
final String response = new HttpsConnection(BaseMainActivity.this).get("https://instances.social/api/1.0" + action, 30, parameters, Helper.THEKINRAR_SECRET_TOKEN);
runOnUiThread(new Runnable() {
public void run() {
isLoadingInstance = false;
String[] instances;
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("instances");
if (jsonArray != null) {
int length = 0;
for (int i = 0; i < jsonArray.length(); i++) {
if( !jsonArray.getJSONObject(i).get("name").toString().contains("@") && jsonArray.getJSONObject(i).get("up").toString().equals("true"))
length++;
}
instances = new String[length];
int j = 0;
for (int i = 0; i < jsonArray.length(); i++) {
if( !jsonArray.getJSONObject(i).get("name").toString().contains("@") && jsonArray.getJSONObject(i).get("up").toString().equals("true")) {
instances[j] = jsonArray.getJSONObject(i).get("name").toString();
j++;
}
}
} else {
instances = new String[]{};
}
instance_list.setAdapter(null);
ArrayAdapter<String> adapter =
new ArrayAdapter<>(BaseMainActivity.this, android.R.layout.simple_list_item_1, instances);
instance_list.setAdapter(adapter);
if (instance_list.hasFocus() && !BaseMainActivity.this.isFinishing())
instance_list.showDropDown();
oldSearch = s.toString().trim();
} catch (JSONException ignored) {
isLoadingInstance = false;
}
}
});
} catch (HttpsConnection.HttpsConnectionException e) {
isLoadingInstance = false;
} catch (Exception e) {
isLoadingInstance = false;
}
}
}).start();
else
isLoadingInstance = false;
}
}
});
break;
}
return true;
}
});
popup.show();
}
});
}
}

View File

@ -16,32 +16,64 @@ package fr.gouv.etalab.mastodon.activities;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Paint;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.support.v7.widget.helper.ItemTouchHelper;
import android.text.Editable;
import android.text.InputFilter;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import es.dmoral.toasty.Toasty;
import fr.gouv.etalab.mastodon.R;
import fr.gouv.etalab.mastodon.asynctasks.ManageListsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveFeedsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.UpdateAccountInfoAsyncTask;
import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.client.Entities.ManageTimelines;
import fr.gouv.etalab.mastodon.client.Entities.RemoteInstance;
import fr.gouv.etalab.mastodon.client.HttpsConnection;
import fr.gouv.etalab.mastodon.drawers.ReorderTabAdapter;
import fr.gouv.etalab.mastodon.fragments.DisplayStatusFragment;
import fr.gouv.etalab.mastodon.helper.Helper;
import fr.gouv.etalab.mastodon.helper.itemtouchhelper.OnStartDragListener;
import fr.gouv.etalab.mastodon.helper.itemtouchhelper.OnUndoListener;
import fr.gouv.etalab.mastodon.helper.itemtouchhelper.SimpleItemTouchHelperCallback;
import fr.gouv.etalab.mastodon.interfaces.OnListActionInterface;
import fr.gouv.etalab.mastodon.sqlite.InstancesDAO;
import fr.gouv.etalab.mastodon.sqlite.SearchDAO;
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
@ -50,6 +82,7 @@ import fr.gouv.etalab.mastodon.sqlite.TimelinesDAO;
import static fr.gouv.etalab.mastodon.helper.Helper.INTENT_ACTION;
import static fr.gouv.etalab.mastodon.helper.Helper.REFRESH_TIMELINE;
import static fr.gouv.etalab.mastodon.helper.Helper.THEME_LIGHT;
import static fr.gouv.etalab.mastodon.sqlite.Sqlite.DB_NAME;
/**
@ -57,7 +90,7 @@ import static fr.gouv.etalab.mastodon.helper.Helper.THEME_LIGHT;
* Reorder timelines activity
*/
public class ReorderTimelinesActivity extends BaseActivity implements OnStartDragListener, OnUndoListener {
public class ReorderTimelinesActivity extends BaseActivity implements OnStartDragListener, OnUndoListener, OnListActionInterface {
public static boolean updated;
private ItemTouchHelper touchHelper;
@ -66,6 +99,10 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
private List<ManageTimelines> timelines;
private ReorderTabAdapter adapter;
private boolean actionCanBeApplied;
private ManageTimelines timeline;
private boolean isLoadingInstance;
private String oldSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -84,6 +121,16 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
default:
setTheme(R.style.AppThemeDark);
}
isLoadingInstance = false;
int style;
if (theme == Helper.THEME_DARK) {
style = R.style.DialogDark;
} else if (theme == Helper.THEME_BLACK){
style = R.style.DialogBlack;
}else {
style = R.style.Dialog;
}
if( getSupportActionBar() != null)
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@ -91,17 +138,201 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
if( actionBar != null ) {
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
assert inflater != null;
@SuppressLint("InflateParams") View view = inflater.inflate(R.layout.simple_bar, null);
@SuppressLint("InflateParams") View view = inflater.inflate(R.layout.simple_bar_add, null);
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
ImageView toolbar_close = actionBar.getCustomView().findViewById(R.id.toolbar_close);
TextView toolbar_title = actionBar.getCustomView().findViewById(R.id.toolbar_title);
ImageView add_remote_instance = actionBar.getCustomView().findViewById(R.id.add_remote_instance);
toolbar_close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA){
add_remote_instance.setVisibility(View.VISIBLE);
}else{
add_remote_instance.setVisibility(View.GONE);
}
add_remote_instance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(ReorderTimelinesActivity.this, style);
LayoutInflater inflater = getLayoutInflater();
@SuppressLint("InflateParams") View dialogView = inflater.inflate(R.layout.search_instance, null);
dialogBuilder.setView(dialogView);
AutoCompleteTextView instance_list = dialogView.findViewById(R.id.search_instance);
//Manage download of attachments
RadioGroup radioGroup = dialogView.findViewById(R.id.set_attachment_group);
instance_list.setFilters(new InputFilter[]{new InputFilter.LengthFilter(60)});
dialogBuilder.setPositiveButton(R.string.validate, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), DB_NAME, null, Sqlite.DB_VERSION).open();
String instanceName = instance_list.getText().toString().trim();
new Thread(new Runnable(){
@Override
public void run() {
try {
if(radioGroup.getCheckedRadioButtonId() == R.id.mastodon_instance)
new HttpsConnection(ReorderTimelinesActivity.this).get("https://" + instanceName + "/api/v1/timelines/public?local=true", 10, null, null);
else if( radioGroup.getCheckedRadioButtonId() == R.id.peertube_instance)
new HttpsConnection(ReorderTimelinesActivity.this).get("https://" + instanceName + "/api/v1/videos/", 10, null, null);
else if( radioGroup.getCheckedRadioButtonId() == R.id.pixelfed_instance) {
new HttpsConnection(ReorderTimelinesActivity.this).get("https://" + instanceName + "/api/v1/timelines/public", 10, null, null);
}else if( radioGroup.getCheckedRadioButtonId() == R.id.misskey_instance) {
new HttpsConnection(ReorderTimelinesActivity.this).post("https://" + instanceName + "/api/notes/local-timeline", 10, null, null);
}
runOnUiThread(new Runnable() {
public void run() {
dialog.dismiss();
if(radioGroup.getCheckedRadioButtonId() == R.id.mastodon_instance) {
new InstancesDAO(ReorderTimelinesActivity.this, db).insertInstance(instanceName, "MASTODON");
}else if( radioGroup.getCheckedRadioButtonId() == R.id.peertube_instance) {
new InstancesDAO(ReorderTimelinesActivity.this, db).insertInstance(instanceName, "PEERTUBE");
} else if( radioGroup.getCheckedRadioButtonId() == R.id.pixelfed_instance) {
new InstancesDAO(ReorderTimelinesActivity.this, db).insertInstance(instanceName, "PIXELFED");
} else if( radioGroup.getCheckedRadioButtonId() == R.id.misskey_instance) {
new InstancesDAO(ReorderTimelinesActivity.this, db).insertInstance(instanceName, "MISSKEY");
}
if( timelines != null && adapter != null) {
List<RemoteInstance> instance = new InstancesDAO(ReorderTimelinesActivity.this, db).getInstanceByName(instanceName);
if( instance != null && instance.size() > 0 ) {
ManageTimelines manageTimelines = new ManageTimelines();
manageTimelines.setRemoteInstance(instance.get(0));
manageTimelines.setPosition(timelines.size());
manageTimelines.setDisplayed(true);
manageTimelines.setType(ManageTimelines.Type.INSTANCE);
timelines.add(manageTimelines);
adapter.notifyItemInserted((timelines.size() - 1));
}
updated = true;
}
}
});
} catch (final Exception e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
Toasty.warning(getApplicationContext(), getString(R.string.toast_instance_unavailable), Toast.LENGTH_LONG).show();
}
});
}
}
}).start();
}
});
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
//Hide keyboard
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
assert imm != null;
imm.hideSoftInputFromWindow(instance_list.getWindowToken(), 0);
}
});
if( alertDialog.getWindow() != null )
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
alertDialog.show();
instance_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
String oldSearch = parent.getItemAtPosition(position).toString().trim();
}
});
instance_list.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Pattern host = Pattern.compile("([\\da-z\\.-]+\\.[a-z\\.]{2,12})");
Matcher matcher = host.matcher(s.toString().trim());
if( s.toString().trim().length() == 0 || !matcher.find()) {
alertDialog.getButton(
AlertDialog.BUTTON_POSITIVE).setEnabled(false);
} else {
// Something into edit text. Enable the button.
alertDialog.getButton(
AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
if (s.length() > 2 && !isLoadingInstance) {
final String action = "/instances/search";
final HashMap<String, String> parameters = new HashMap<>();
parameters.put("q", s.toString().trim());
parameters.put("count", String.valueOf(1000));
parameters.put("name", String.valueOf(true));
isLoadingInstance = true;
if( oldSearch == null || !oldSearch.equals(s.toString().trim()))
new Thread(new Runnable() {
@Override
public void run() {
try {
final String response = new HttpsConnection(ReorderTimelinesActivity.this).get("https://instances.social/api/1.0" + action, 30, parameters, Helper.THEKINRAR_SECRET_TOKEN);
runOnUiThread(new Runnable() {
public void run() {
isLoadingInstance = false;
String[] instances;
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("instances");
if (jsonArray != null) {
int length = 0;
for (int i = 0; i < jsonArray.length(); i++) {
if( !jsonArray.getJSONObject(i).get("name").toString().contains("@") && jsonArray.getJSONObject(i).get("up").toString().equals("true"))
length++;
}
instances = new String[length];
int j = 0;
for (int i = 0; i < jsonArray.length(); i++) {
if( !jsonArray.getJSONObject(i).get("name").toString().contains("@") && jsonArray.getJSONObject(i).get("up").toString().equals("true")) {
instances[j] = jsonArray.getJSONObject(i).get("name").toString();
j++;
}
}
} else {
instances = new String[]{};
}
instance_list.setAdapter(null);
ArrayAdapter<String> adapter =
new ArrayAdapter<>(ReorderTimelinesActivity.this, android.R.layout.simple_list_item_1, instances);
instance_list.setAdapter(adapter);
if (instance_list.hasFocus() && !ReorderTimelinesActivity.this.isFinishing())
instance_list.showDropDown();
oldSearch = s.toString().trim();
} catch (JSONException ignored) {
isLoadingInstance = false;
}
}
});
} catch (HttpsConnection.HttpsConnectionException e) {
isLoadingInstance = false;
} catch (Exception e) {
isLoadingInstance = false;
}
}
}).start();
else
isLoadingInstance = false;
}
}
});
}
});
toolbar_title.setText(R.string.action_reorder_timeline);
if (theme == THEME_LIGHT){
Toolbar toolbar = actionBar.getCustomView().findViewById(R.id.toolbar);
@ -159,13 +390,18 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
if( actionCanBeApplied){
switch (manageTimelines.getType()){
case TAG:
new SearchDAO(getApplicationContext(), db).remove(manageTimelines.getTagTimeline().getName());
new TimelinesDAO(getApplicationContext(), db).remove(manageTimelines);
new SearchDAO(getApplicationContext(), db).remove(manageTimelines.getTagTimeline().getName());
new TimelinesDAO(getApplicationContext(), db).remove(manageTimelines);
break;
case INSTANCE:
new InstancesDAO(getApplicationContext(), db).remove(manageTimelines.getRemoteInstance().getId());
new InstancesDAO(getApplicationContext(), db).remove(manageTimelines.getRemoteInstance().getHost());
new TimelinesDAO(getApplicationContext(), db).remove(manageTimelines);
break;
case LIST:
timeline = manageTimelines;
new ManageListsAsyncTask(getApplicationContext(), ManageListsAsyncTask.action.DELETE_LIST,null, null, manageTimelines.getListTimeline().getId(), null, ReorderTimelinesActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
new TimelinesDAO(getApplicationContext(), db).remove(timeline);
break;
}
updated = true;
}
@ -195,4 +431,7 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
}
@Override
public void onActionDone(ManageListsAsyncTask.action actionType, APIResponse apiResponse, int statusCode) {
}
}

View File

@ -1211,9 +1211,15 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
startActivity(intent);
return true;
case R.id.action_mute:
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
builderInner.setTitle(stringArrayConf[0]);
doActionAccount = API.StatusAction.MUTE;
if (relationship.isMuting()) {
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
builderInner.setTitle(stringArrayConf[4]);
doActionAccount = API.StatusAction.UNMUTE;
} else {
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
builderInner.setTitle(stringArrayConf[0]);
doActionAccount = API.StatusAction.MUTE;
}
break;
case R.id.action_block:
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);

View File

@ -2396,7 +2396,7 @@ public class API {
return apiResponse;
}
final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
boolean notif_follow, notif_add, notif_mention, notif_share;
boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll;
StringBuilder parameters = new StringBuilder();
if( type == DisplayNotificationsFragment.Type.ALL){
if( display) {
@ -2404,11 +2404,13 @@ public class API {
notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD_FILTER, true);
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION_FILTER, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE_FILTER, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL_FILTER, true);
}else{
notif_follow = sharedpreferences.getBoolean(Helper.SET_NOTIF_FOLLOW, true);
notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
}
@ -2420,6 +2422,8 @@ public class API {
parameters.append("exclude_types[]=").append("reblog").append("&");
if( !notif_mention )
parameters.append("exclude_types[]=").append("mention").append("&");
if( !notif_poll )
parameters.append("exclude_types[]=").append("poll").append("&");
if( parameters.length() > 0) {
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
params.put("exclude_types[]", parameters.toString());
@ -2445,7 +2449,7 @@ public class API {
parameters.append("exclude_types[]=").append("poll").append("&");
parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(16));
params.put("exclude_types[]", parameters.toString());
}else if(type == DisplayNotificationsFragment.Type.POOL){
}else if(type == DisplayNotificationsFragment.Type.POLL){
parameters.append("exclude_types[]=").append("reblog").append("&");
parameters.append("exclude_types[]=").append("follow").append("&");
parameters.append("exclude_types[]=").append("mention").append("&");

View File

@ -33,6 +33,7 @@ import android.support.v7.app.AlertDialog;
import android.support.v7.widget.PopupMenu;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@ -82,7 +83,7 @@ public class ManageTimelines {
private List listTimeline;
private boolean notif_follow, notif_add, notif_mention, notif_share;
private boolean notif_follow, notif_add, notif_mention, notif_share, notif_poll;
public int getPosition() {
@ -349,27 +350,30 @@ public class ManageTimelines {
}
tabLayout.addTab(tb);
}else{
String name = "";
if( tl.getType() == Type.TAG){
if( tl.getTagTimeline().getDisplayname() != null) {
tb.setText(tl.getTagTimeline().getDisplayname());
name = tl.getTagTimeline().getDisplayname();
}else {
tb.setText(tl.getTagTimeline().getName());
name = tl.getTagTimeline().getName();
}
tabLayout.addTab(tb);
}else if( tl.getType() == Type.INSTANCE && (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA)){
tb.setText(tl.getRemoteInstance().getHost());
tabLayout.addTab(tb);
name = tl.getRemoteInstance().getHost();
}else if( tl.getType() == Type.LIST){
tb.setText(tl.getListTimeline().getTitle());
tabLayout.addTab(tb);
name = tl.getListTimeline().getTitle();
}
TextView tv=(TextView)LayoutInflater.from(context).inflate(R.layout.custom_tab_instance,null);
tv.setText(name);
if (theme == THEME_LIGHT) {
tv.setTextColor(ContextCompat.getColor(context, R.color.action_light_header));
}
tb.setCustomView(tv);
if( tl.getPosition() == 0){
TextView tv = tabLayout.getChildAt(0).findViewById(android.R.id.title);
if( tv != null)
tv.setTextColor(ContextCompat.getColor(context, R.color.mastodonC4));
tv.setTextColor(ContextCompat.getColor(context, R.color.mastodonC4));
}
tabLayout.addTab(tb);
}
final LinearLayout tabStrip = (LinearLayout) tabLayout.getChildAt(0);
if( tl.getType() == Type.NOTIFICATION){
notificationClik(context, tl, tabLayout);
@ -435,14 +439,21 @@ public class ManageTimelines {
final MenuItem itemFollow = menu.findItem(R.id.action_follow);
final MenuItem itemMention = menu.findItem(R.id.action_mention);
final MenuItem itemBoost = menu.findItem(R.id.action_boost);
final MenuItem itemPoll = menu.findItem(R.id.action_poll);
notif_follow = sharedpreferences.getBoolean(Helper.SET_NOTIF_FOLLOW_FILTER, true);
notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD_FILTER, true);
notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION_FILTER, true);
notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE_FILTER, true);
notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL_FILTER, true);
itemFavourite.setChecked(notif_add);
itemFollow.setChecked(notif_follow);
itemMention.setChecked(notif_mention);
itemBoost.setChecked(notif_share);
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
itemPoll.setChecked(notif_poll);
else
itemPoll.setVisible(false);
popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
@Override
public void onDismiss(PopupMenu menu) {
@ -495,6 +506,13 @@ public class ManageTimelines {
itemBoost.setChecked(notif_share);
editor.apply();
break;
case R.id.action_poll:
editor = sharedpreferences.edit();
notif_poll = !notif_poll;
editor.putBoolean(Helper.SET_NOTIF_POLL_FILTER, notif_poll);
itemPoll.setChecked(notif_poll);
editor.apply();
break;
}
return false;
}

View File

@ -16,14 +16,11 @@ package fr.gouv.etalab.mastodon.drawers;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -36,10 +33,7 @@ import java.util.List;
import fr.gouv.etalab.mastodon.R;
import fr.gouv.etalab.mastodon.activities.ListActivity;
import fr.gouv.etalab.mastodon.asynctasks.ManageListsAsyncTask;
import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.helper.Helper;
import fr.gouv.etalab.mastodon.interfaces.OnListActionInterface;
import static fr.gouv.etalab.mastodon.helper.Helper.changeDrawableColor;
@ -48,20 +42,16 @@ import static fr.gouv.etalab.mastodon.helper.Helper.changeDrawableColor;
* Created by Thomas on 13/12/2017.
* Adapter for lists
*/
public class ListAdapter extends BaseAdapter implements OnListActionInterface {
public class ListAdapter extends BaseAdapter {
private List<fr.gouv.etalab.mastodon.client.Entities.List> lists;
private LayoutInflater layoutInflater;
private Context context;
private ListAdapter listAdapter;
private RelativeLayout textviewNoAction;
public ListAdapter(Context context, List<fr.gouv.etalab.mastodon.client.Entities.List> lists, RelativeLayout textviewNoAction){
this.lists = lists;
layoutInflater = LayoutInflater.from(context);
this.context = context;
this.listAdapter = this;
this.textviewNoAction = textviewNoAction;
}
@Override
@ -125,51 +115,9 @@ public class ListAdapter extends BaseAdapter implements OnListActionInterface {
context.startActivity(intent);
}
});
int style;
if (theme == Helper.THEME_DARK) {
style = R.style.DialogDark;
} else if (theme == Helper.THEME_BLACK){
style = R.style.DialogBlack;
}else {
style = R.style.Dialog;
}
holder.search_container.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(context, style);
builder.setTitle(context.getString(R.string.action_lists_delete) + ": " + list.getTitle());
builder.setMessage(context.getString(R.string.action_lists_confirm_delete) );
builder.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
lists.remove(list);
listAdapter.notifyDataSetChanged();
new ManageListsAsyncTask(context, ManageListsAsyncTask.action.DELETE_LIST,null, null, list.getId(), null, ListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
if( lists.size() == 0 && textviewNoAction != null && textviewNoAction.getVisibility() == View.GONE)
textviewNoAction.setVisibility(View.VISIBLE);
dialog.dismiss();
}
})
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.show();
return false;
}
});
return convertView;
}
@Override
public void onActionDone(ManageListsAsyncTask.action actionType, APIResponse apiResponse, int statusCode) {
}
private class ViewHolder {
LinearLayout search_container;
TextView search_title;

View File

@ -204,17 +204,13 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<ReorderTabAdapter.It
@Override
public void onItemDismiss(int position) {
ManageTimelines item = mItems.get(position);
if( item.getType() == ManageTimelines.Type.TAG || item.getType() == ManageTimelines.Type.INSTANCE ) {
if( item.getType() == ManageTimelines.Type.TAG || item.getType() == ManageTimelines.Type.INSTANCE || item.getType() == ManageTimelines.Type.LIST) {
mUndoListener.onUndo(item, position);
mItems.remove(position);
notifyItemRemoved(position);
}else{
notifyItemChanged(position);
if( item.getType() == ManageTimelines.Type.LIST ){
Toasty.info(context, context.getString(R.string.warning_list_deletion), Toast.LENGTH_SHORT).show();
}else{
Toasty.info(context, context.getString(R.string.warning_main_timeline), Toast.LENGTH_SHORT).show();
}
Toasty.info(context, context.getString(R.string.warning_main_timeline), Toast.LENGTH_SHORT).show();
}
}

View File

@ -90,7 +90,7 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
MENTION,
FAVORITE,
BOOST,
POOL,
POLL,
FOLLOW
}

View File

@ -647,20 +647,6 @@ public class SettingsFragment extends Fragment {
});
boolean follow_instance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true);
final CheckBox set_follow_instance = rootView.findViewById(R.id.set_display_follow_instance);
set_follow_instance.setChecked(follow_instance);
set_follow_instance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, set_follow_instance.isChecked());
editor.apply();
((MainActivity) context).refreshButton();
}
});
boolean display_bookmark = sharedpreferences.getBoolean(Helper.SET_SHOW_BOOKMARK, false);
final CheckBox set_display_bookmark = rootView.findViewById(R.id.set_display_bookmarks);
set_display_bookmark.setChecked(display_bookmark);

View File

@ -105,6 +105,7 @@ public class SettingsNotificationsFragment extends Fragment {
boolean notif_ask = sharedpreferences.getBoolean(Helper.SET_NOTIF_ASK, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean notif_wifi = sharedpreferences.getBoolean(Helper.SET_WIFI_ONLY, false);
boolean notif_silent = sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT, false);
@ -120,6 +121,7 @@ public class SettingsNotificationsFragment extends Fragment {
final CheckBox set_notif_follow_ask = rootView.findViewById(R.id.set_notif_follow_ask);
final CheckBox set_notif_follow_mention = rootView.findViewById(R.id.set_notif_follow_mention);
final CheckBox set_notif_follow_share = rootView.findViewById(R.id.set_notif_follow_share);
final CheckBox set_notif_follow_poll = rootView.findViewById(R.id.set_notif_follow_poll);
final CheckBox set_notif_hometimeline = rootView.findViewById(R.id.set_notif_hometimeline);
@ -134,6 +136,7 @@ public class SettingsNotificationsFragment extends Fragment {
final Button sound_fav = rootView.findViewById(R.id.sound_fav);
final Button sound_follow = rootView.findViewById(R.id.sound_follow);
final Button sound_mention = rootView.findViewById(R.id.sound_mention);
final Button sound_poll = rootView.findViewById(R.id.sound_poll);
final Button sound_backup = rootView.findViewById(R.id.sound_backup);
final Button sound_media = rootView.findViewById(R.id.sound_media);
Button set_notif_sound = rootView.findViewById(R.id.set_notif_sound);
@ -184,6 +187,16 @@ public class SettingsNotificationsFragment extends Fragment {
}
});
sound_poll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
intent.putExtra(Settings.EXTRA_CHANNEL_ID, "channel_poll");
startActivity(intent);
}
});
sound_backup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -332,6 +345,7 @@ public class SettingsNotificationsFragment extends Fragment {
set_notif_follow_ask.setChecked(notif_ask);
set_notif_follow_mention.setChecked(notif_mention);
set_notif_follow_share.setChecked(notif_share);
set_notif_follow_poll.setChecked(notif_poll);
set_notif_hometimeline.setChecked(notif_hometimeline);
switchCompatWIFI.setChecked(notif_wifi);
@ -385,6 +399,14 @@ public class SettingsNotificationsFragment extends Fragment {
editor.apply();
}
});
set_notif_follow_poll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_NOTIF_POLL, set_notif_follow_poll.isChecked());
editor.apply();
}
});
switchCompatWIFI.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

View File

@ -229,7 +229,7 @@ public class TabLayoutNotificationsFragment extends Fragment {
break;
case 4:
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON)
type = DisplayNotificationsFragment.Type.POOL;
type = DisplayNotificationsFragment.Type.POLL;
else
type = DisplayNotificationsFragment.Type.FOLLOW;
break;

View File

@ -356,10 +356,12 @@ public class Helper {
public static final String SET_NOTIF_ASK = "set_notif_follow_ask";
public static final String SET_NOTIF_MENTION = "set_notif_follow_mention";
public static final String SET_NOTIF_SHARE = "set_notif_follow_share";
public static final String SET_NOTIF_POLL = "set_notif_follow_poll";
public static final String SET_NOTIF_FOLLOW_FILTER = "set_notif_follow_filter";
public static final String SET_NOTIF_ADD_FILTER = "set_notif_follow_add_filter";
public static final String SET_NOTIF_MENTION_FILTER = "set_notif_follow_mention_filter";
public static final String SET_NOTIF_SHARE_FILTER = "set_notif_follow_share_filter";
public static final String SET_NOTIF_POLL_FILTER = "set_notif_follow_poll_filter";
public static final String SET_FILTER_REGEX_HOME = "set_filter_regex_home";
public static final String SET_FILTER_REGEX_LOCAL = "set_filter_regex_local";
public static final String SET_FILTER_REGEX_PUBLIC = "set_filter_regex_public";
@ -457,6 +459,7 @@ public class Helper {
MENTION,
BOOST,
FAV,
POLL,
BACKUP,
STORE,
TOOT
@ -1011,6 +1014,10 @@ public class Helper {
channelId = "channel_mention";
channelTitle = context.getString(R.string.channel_notif_mention);
break;
case POLL:
channelId = "channel_poll";
channelTitle = context.getString(R.string.channel_notif_poll);
break;
case BACKUP:
channelId = "channel_backup";
channelTitle = context.getString(R.string.channel_notif_backup);
@ -3426,7 +3433,6 @@ public class Helper {
if(v instanceof MenuItem) {
((MenuItem)v).getIcon().setColorFilter(colorFilter);
}
if(v instanceof ActionMenuView) {
for(int j = 0; j < ((ActionMenuView)v).getChildCount(); j++) {
@ -3454,7 +3460,13 @@ public class Helper {
}
}
}
if(v instanceof LinearLayout) {
for(int j = 0; j < ((LinearLayout)v).getChildCount(); j++) {
//Action Bar back button
if (((LinearLayout) v).getChildAt(j) instanceof ImageView)
((ImageView)((LinearLayout) v).getChildAt(j)).setColorFilter(colorFilter);
}
}
//Step 3: Changing the color of title and subtitle.
toolbarView.setTitleTextColor(toolbarIconsColor);
toolbarView.setSubtitleTextColor(toolbarIconsColor);

View File

@ -118,8 +118,9 @@ public class NotificationsSyncJob extends Job {
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
//User disagree with all notifications
if( !notif_follow && !notif_add && !notif_mention && !notif_share)
if( !notif_follow && !notif_add && !notif_mention && !notif_share && !notif_poll)
return; //Nothing is done
//No account connected, the service is stopped
if(!Helper.isLoggedIn(getContext()))
@ -151,6 +152,7 @@ public class NotificationsSyncJob extends Job {
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
final String max_id = sharedpreferences.getString(Helper.LAST_NOTIFICATION_MAX_ID + account.getId() + account.getInstance(), null);
final List<Notification> notifications = new ArrayList<>();
int pos = 0;
@ -167,6 +169,7 @@ public class NotificationsSyncJob extends Job {
int newAdds = 0;
int newMentions = 0;
int newShare = 0;
int newPolls = 0;
String notificationUrl = null;
String title = null;
final String message;
@ -229,11 +232,25 @@ public class NotificationsSyncJob extends Job {
}
}
break;
case "poll":
notifType = Helper.NotifType.POLL;
if(notif_poll){
newPolls++;
if( notificationUrl == null){
notificationUrl = notification.getAccount().getAvatar();
String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
if (notification.getAccount().getId() != null && notification.getAccount().getId().equals(userId))
title = getContext().getString(R.string.notif_poll_self);
else
title = getContext().getString(R.string.notif_poll);
}
}
break;
default:
}
}
int allNotifCount = newFollows + newAdds + newMentions + newShare;
int allNotifCount = newFollows + newAdds + newMentions + newShare + newPolls;
if( allNotifCount > 0){
//Some others notification
int other = allNotifCount -1;

View File

@ -327,7 +327,8 @@ public class LiveNotificationService extends Service implements NetworkStateRece
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
boolean notif_mention = sharedpreferences.getBoolean(Helper.SET_NOTIF_MENTION, true);
boolean notif_share = sharedpreferences.getBoolean(Helper.SET_NOTIF_SHARE, true);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share);
boolean notif_poll = sharedpreferences.getBoolean(Helper.SET_NOTIF_POLL, true);
boolean somethingToPush = (notif_follow || notif_add || notif_mention || notif_share || notif_poll);
String title = null;
if (somethingToPush && notification != null) {
switch (notification.getType()) {
@ -376,6 +377,17 @@ public class LiveNotificationService extends Service implements NetworkStateRece
canSendBroadCast = false;
}
break;
case "poll":
notifType = Helper.NotifType.POLL;
if (notif_poll) {
if (notification.getAccount().getId() != null && notification.getAccount().getId().equals(userId))
title = getString(R.string.notif_poll_self);
else
title = getString(R.string.notif_poll);
} else {
canSendBroadCast = false;
}
break;
default:
}
//Some others notification

View File

@ -74,8 +74,8 @@ public class InstancesDAO {
* Remove instance by its name
* @return int
*/
public int remove(String id){
return db.delete(Sqlite.TABLE_INSTANCES, Sqlite.COL_ID + " = \"" + id + "\"", null);
public int remove(String host){
return db.delete(Sqlite.TABLE_INSTANCES, Sqlite.COL_INSTANCE + " = \"" + host + "\"", null);
}
//------- REMOVE -------

View File

@ -207,14 +207,6 @@
/>
</RadioGroup>
<!-- HIDE FOLLOW INSTANCE BUTTON -->
<CheckBox
android:id="@+id/set_display_follow_instance"
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/settings_checkbox_margin"
android:layout_marginBottom="@dimen/settings_checkbox_margin"
android:text="@string/set_display_follow_instance"
android:layout_height="wrap_content" />
<!-- DISPLAY NEW BADGE -->
<CheckBox

View File

@ -147,17 +147,6 @@
android:layout_margin="@dimen/fab_margin_floating"
app:srcCompat="@drawable/ic_action_add_new"
tools:ignore="VectorDrawableCompat" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/federated_timeline"
android:layout_width="wrap_content"
android:contentDescription="@string/follow_instance"
android:layout_height="wrap_content"
app:fabSize="mini"
android:layout_gravity="bottom|start"
android:layout_margin="@dimen/fab_margin_floating"
app:srcCompat="@drawable/ic_public_world"
tools:ignore="VectorDrawableCompat" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/host_name"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent"
/>

View File

@ -214,14 +214,6 @@
/>
</RadioGroup>
<!-- HIDE FOLLOW INSTANCE BUTTON -->
<CheckBox
android:id="@+id/set_display_follow_instance"
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/settings_checkbox_margin"
android:layout_marginBottom="@dimen/settings_checkbox_margin"
android:text="@string/set_display_follow_instance"
android:layout_height="wrap_content" />
<!-- DISPLAY NEW BADGE -->
<CheckBox

View File

@ -165,11 +165,11 @@
android:orientation="horizontal"
>
<Button
android:id="@+id/sound_backup"
android:id="@+id/sound_poll"
android:gravity="center"
style="@style/Base.Widget.AppCompat.Button.Colored"
android:tint="@android:color/white"
android:text="@string/channel_notif_backup"
android:text="@string/channel_notif_poll"
android:maxLines="1"
android:layout_width="0dp"
android:layout_weight="1"
@ -185,6 +185,27 @@
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/sound_backup"
android:gravity="center"
style="@style/Base.Widget.AppCompat.Button.Colored"
android:tint="@android:color/white"
android:text="@string/channel_notif_backup"
android:maxLines="1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:visibility="invisible"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<!-- NOTIFICATIONS SETTINGS -->
@ -251,6 +272,13 @@
android:layout_marginBottom="@dimen/settings_checkbox_margin"
android:text="@string/set_notif_follow_share"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/set_notif_follow_poll"
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/settings_checkbox_margin"
android:layout_marginBottom="@dimen/settings_checkbox_margin"
android:text="@string/set_notif_follow_poll"
android:layout_height="wrap_content" />
<!-- END NOTIFICATIONS SETTINGS -->
<!-- NOTIFICATION CONTENT NEW -->

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2017 Thomas Schneider
This file is a part of Mastalab
This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
Mastalab 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 General
Public License for more details.
You should have received a copy of the GNU General Public License along with Mastalab; if not,
see <http://www.gnu.org/licenses>.
-->
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toolbar"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:popupTheme="?attr/popupOverlay"
tools:ignore="UnusedAttribute">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/toolbar_close"
android:src="@drawable/ic_close"
android:layout_width="30dp"
android:layout_height="30dp"
android:gravity="center_vertical"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:contentDescription="@string/close" />
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:textColor="?attr/actionBarTextColor"
android:textSize="16sp"
android:maxLines="1"
android:id="@+id/toolbar_title" />
<ImageView
android:id="@+id/add_remote_instance"
android:src="@drawable/ic_add"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:contentDescription="@string/add_remote_instance"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>

View File

@ -27,4 +27,10 @@
android:title="@string/reblog"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="always" />
<item
android:id="@+id/action_poll"
android:checkable="true"
android:title="@string/polls"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="always" />
</menu>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>هل تود حجب هذا الحساب؟</item>
<item>هل تود الإبلاغ عن هذا التبويق؟</item>
<item>هل تريد حظر هذا النطاق؟</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>إشعار</item>
@ -320,6 +321,7 @@
<string name="set_notif_follow_share">تنبيهي عندما يقوم أحدهم بترقية منشوري</string>
<string name="set_notif_follow_add">إخطاري عندما يُعجَب أحدهم بأحد منشوراتي</string>
<string name="set_notif_follow_mention">إخطاري عندما يُشار إليّ</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">عرض مربع حوار للتأكيد قبل ترقية أي تبويق</string>
<string name="set_share_validation_fav">عرض مربع حوار للتأكيد قبل إضافة أي تبويق إلى المفضلة</string>
<string name="set_wifi_only">تفعيل الإخطار في وضع الواي فاي فقط</string>
@ -588,6 +590,7 @@
<string name="channel_notif_boost">ترقية جديدة</string>
<string name="channel_notif_fav">مفضلة جديدة</string>
<string name="channel_notif_mention">إشارة جديدة</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">تبويق جديد</string>
<string name="channel_notif_backup">النسخ الاحتياطي للتبويقات</string>
<string name="channel_notif_media">تنزيل الوسائط</string>
@ -811,6 +814,7 @@
<string name="set_retrieve_metadata_share_from_extras">ارفاق صورة عند مشاركة عنوان رابط</string>
<!-- end languages -->
<string name="poll">استطلاع رأي</string>
<string name="polls">Polls</string>
<string name="create_poll">إنشاء استطلاع</string>
<string name="poll_choice_1">الخيار 1</string>
<string name="poll_choice_2">الخيار 2</string>
@ -823,6 +827,7 @@
<string name="vote">تصويت</string>
<string name="poll_not_private">لا يمكن إرفاق استطلاع للرأي في الرسائل المباشِرة!</string>
<string name="notif_poll">لقد انقضت مدة استطلاع رأي قد قُمتَ بالتصويت عليه مِن قَبل</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">تخصيص</string>
<string name="settings_category_notif_categories">الفئات</string>
<string name="settings_category_notif_news">الأخبار</string>
@ -841,6 +846,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">الخيوط الرئيسية يمكن فقط إخفاءها!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="zero">%d votes</item>
<item quantity="one">%d vote</item>

View File

@ -125,6 +125,7 @@
<item>Vols blocar aquest compte?</item>
<item>Vols denunciar aquest toot?</item>
<item>Vols blocar el domini?</item>
<item>Desilenciar aquest compte?</item>
</string-array>
<string-array name="action_notification">
<item>Notificar</item>
@ -273,7 +274,7 @@
<string name="nothing_to_do">No es pot endegar cap acció</string>
<string name="toast_saved">El mèdia s\'ha guardat!</string>
<string name="toast_error_translate">Hi ha hagut un error durant la traducció!</string>
<string name="toast_error_translations_disabled">Opció de traducció deshabilitada</string>
<string name="toast_error_translations_disabled">Tens l\'opció de traducció deshabilitada</string>
<string name="toast_toot_saved">S\'ha desat l\'esborrany!</string>
<string name="toast_error_char_limit">Estàs segur que aquesta instància permet tants caràcters? El valor usual s\'aproxima a 500 caràcters.</string>
<string name="toast_visibility_changed">S\'ha canviat la visibilitat dels toots d\'aquest compte %1$s</string>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Avisa quan algú difongui el teu estatus</string>
<string name="set_notif_follow_add">Avisa quan algú marqui el teu estatus com a preferit</string>
<string name="set_notif_follow_mention">Avisa quan algú et mencioni</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Demana confirmació abans de difondre</string>
<string name="set_share_validation_fav">Demana confirmació abans d\'afegir a preferits</string>
<string name="set_wifi_only">Enviar avisos només per WIFI</string>
@ -565,6 +567,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n
<string name="channel_notif_boost">Nova difusió</string>
<string name="channel_notif_fav">Nou preferit</string>
<string name="channel_notif_mention">Nova menció</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Toot nou</string>
<string name="channel_notif_backup">Còpia de seguretat de toots</string>
<string name="channel_notif_media">Baixada de mèdia</string>
@ -788,6 +791,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n
<string name="set_retrieve_metadata_share_from_extras">Adjunta una imatge en compartir un URL</string>
<!-- end languages -->
<string name="poll">Enquesta</string>
<string name="polls">Polls</string>
<string name="create_poll">Crea una enquesta</string>
<string name="poll_choice_1">Opció 1</string>
<string name="poll_choice_2">Opció 2</string>
@ -800,6 +804,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n
<string name="vote">Vota</string>
<string name="poll_not_private">No es pot adjuntar enquestes a un missatge directe!</string>
<string name="notif_poll">S\'ha acabat una enquesta en què havies participat</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Personalitza</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">Notícies</string>
@ -818,6 +823,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n
<string name="warning_list_deletion">Per esborrar aquesta llista, cal fer-ho des de les llistes entrades!</string>
<string name="warning_main_timeline">Les pissarres principals només es poden amagar!</string>
<string name="action_bbcode">Codi-BB</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vot</item>
<item quantity="other">%d vots</item>

View File

@ -125,6 +125,7 @@
<item>Blokovat tento účet?</item>
<item>Nahlásit tento toot?</item>
<item>Blokovat tuto doménu?</item>
<item>Zrušit ztlumení tohoto účtu?</item>
</string-array>
<string-array name="action_notification">
<item>Oznámit</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Oznámení v případě boostnutí vašeho tootu</string>
<string name="set_notif_follow_add">Oznámení v případě oblíbení vašeho tootu</string>
<string name="set_notif_follow_mention">Oznámení v případě, že vás někdo zmíní</string>
<string name="set_notif_follow_poll">Oznámení po skončení ankety</string>
<string name="set_share_validation">Zobrazit potvrzení před boostnutí</string>
<string name="set_share_validation_fav">Zobrazit potvrzení před oblíbením</string>
<string name="set_wifi_only">Oznámení pouze na WIFI</string>
@ -580,6 +582,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během
<string name="channel_notif_boost">Nový boost</string>
<string name="channel_notif_fav">Nové oblíbení</string>
<string name="channel_notif_mention">Nová zmínka</string>
<string name="channel_notif_poll">Anketa skončila</string>
<string name="channel_notif_toot">Nový toot</string>
<string name="channel_notif_backup">Záloha tootů</string>
<string name="channel_notif_media">Stahování médií</string>
@ -802,6 +805,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během
<string name="set_retrieve_metadata_share_from_extras">Připojit při sdílení URL obrázek</string>
<!-- end languages -->
<string name="poll">Anketa</string>
<string name="polls">Ankety</string>
<string name="create_poll">Vytvořit anketu</string>
<string name="poll_choice_1">Volba 1</string>
<string name="poll_choice_2">Volba 2</string>
@ -814,6 +818,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během
<string name="vote">Hlasovat</string>
<string name="poll_not_private">K přímé zprávě nelze připojit anketu!</string>
<string name="notif_poll">Anketa, ve které jste hlasoval/a, skončila</string>
<string name="notif_poll_self">Vaše anketa skončila</string>
<string name="settings_category_notif_customize">Přizpůsobit</string>
<string name="settings_category_notif_categories">Kategorie</string>
<string name="settings_category_notif_news">Novinky</string>
@ -832,6 +837,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během
<string name="warning_list_deletion">Použijte položky seznamu k odstranění tohoto seznamu!</string>
<string name="warning_main_timeline">Hlavní časové linie mohou být pouze skryty!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d hlas</item>
<item quantity="few">%d hlasy</item>

View File

@ -125,6 +125,7 @@
<item>Blocio\'r cyfrif hwn?</item>
<item>Cwyno am y tŵt hwn?</item>
<item>Blocio\'r parth hwn?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Hysbysu</item>
@ -320,6 +321,7 @@
<string name="set_notif_follow_share">Hysbysu pan mae rhywun yn hybu\'ch statws</string>
<string name="set_notif_follow_add">Hysbysu pan mae rhywun yn ffefrynnu eich statws</string>
<string name="set_notif_follow_mention">Hysbysu pan mae rhywun yn sôn amdanoch chi</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Dangos deialog cadarnhau cyn hybu</string>
<string name="set_share_validation_fav">Dangos deialog cadarnhau cyn ychwanegu i\'r ffefrynnau</string>
<string name="set_wifi_only">Ond hysbysu pan yn gysylltiedig i WIFI</string>
@ -589,6 +591,7 @@
<string name="channel_notif_boost">Hybiad newydd</string>
<string name="channel_notif_fav">Ffefryn newydd</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Tŵt Newydd</string>
<string name="channel_notif_backup">Tŵtiau wrth gefn</string>
<string name="channel_notif_media">Lawrlwytho Cyfryngau</string>
@ -812,6 +815,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -824,6 +828,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -842,6 +847,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="zero">%d votes</item>
<item quantity="one">%d vote</item>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Diesen Nutzer blockieren?</item>
<item>Diesen Toot melden?</item>
<item>Diese Domäne blockieren?</item>
<item>Nutzer nicht mehr stummschalten?</item>
</string-array>
<string-array name="action_notification">
<item>Benachrichtigen</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">jemand meinen Beitrag teilt</string>
<string name="set_notif_follow_add">jemand meinen Beitrag favorisiert</string>
<string name="set_notif_follow_mention">ich erwähnt werde</string>
<string name="set_notif_follow_poll">Benachrichtigen, sobald eine Umfrage beendet ist</string>
<string name="set_share_validation">Bestätigungsdialog vor dem Teilen anzeigen</string>
<string name="set_share_validation_fav">Bestätigungsdialog vor dem Favorisieren anzeigen</string>
<string name="set_wifi_only">Nur bei WLAN benachrichtigen</string>
@ -564,6 +566,7 @@ Durch das Löschen der Anwendung werden diese Daten sofort entfernt.\n
<string name="channel_notif_boost">Neu geteilt</string>
<string name="channel_notif_fav">Neuer Favorit</string>
<string name="channel_notif_mention">Neue Erwähnung</string>
<string name="channel_notif_poll">Umfrage beendet</string>
<string name="channel_notif_toot">Neuer Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Medien Download</string>
@ -670,21 +673,21 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<!-- languages not translated -->
<string name="languages">Sprachen</string>
<string name="show_media_only">Nur Medien</string>
<string name="show_media_nsfw">Unpassenden Inhalten anzeigen</string>
<string name="show_media_nsfw">Heikle Inhalte anzeigen</string>
<string name="crowdin_translations">Crowdin Übersetzungen</string>
<string name="crowdin_manager">Crowdin Manager</string>
<string name="translation_app">Übersetzung der App</string>
<string name="about_crowdin">Über Crowdin</string>
<string name="bot">Bot</string>
<string name="pixelfed_instance">Pixelfed Instanz</string>
<string name="pixelfed_instance">Pixelfed-Instanz</string>
<string name="mastodon_instance">Mastodon-Instanz</string>
<string name="no_pixelfed_instance">Keine Pixelfed Instanzen</string>
<string name="no_pixelfed_instance">Keine Pixelfed-Instanzen</string>
<string name="any_tags">Irgendwelche davon</string>
<string name="all_tags">Alle von denen</string>
<string name="none_tags">Keine von denen</string>
<string name="some_words_any">Eines dieser Wörter (Leerzeichen getrennt)</string>
<string name="some_words_all">Alle diese Wörter (Leerzeichen getrennt)</string>
<string name="some_words_none">Keines dieser Wörter (Leerzeichen getrennt)</string>
<string name="some_words_any">Eines dieser Wörter (durch Leerzeichen getrennt)</string>
<string name="some_words_all">Alle diese Wörter (durch Leerzeichen getrennt)</string>
<string name="some_words_none">Keines dieser Wörter (durch Leerzeichen getrennt)</string>
<string name="change_tag_column">Spaltenname ändern</string>
<string name="no_misskey_instance">Keine Misskey-Instanzen</string>
<string name="misskey_instance">Misskey Instanz</string>
@ -698,16 +701,16 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="reply">Antworten</string>
<string name="delete_comment">Kommentar entfernen</string>
<string name="delete_comment_confirm">Möchten Sie diesen Kommentar wirklich löschen?</string>
<string name="fullscreen">Vollbildvideo</string>
<string name="fullscreen">Vollbild-Video</string>
<string name="set_video_mode">Modus für Videoaufnahmen</string>
<string name="file_to_upload">Eine Datei zum Hochladen auswählen</string>
<string name="file_to_upload">Datei zum Hochladen auswählen</string>
<string name="my_videos">Eigene Videos</string>
<string name="title">Titel</string>
<string name="categories">Kategorien</string>
<string name="license">Lizenz</string>
<string name="category">Kategorie</string>
<string name="language">Sprache</string>
<string name="peertube_nsfw">Dieses Video enthält für Erwachsene oder sexuell eindeutige Inhalte</string>
<string name="peertube_nsfw">Dieses Video enthält heikle Inhalte</string>
<string name="peertube_enable_comments">Kommentare zu Videos ermöglichen</string>
<string name="update_video">Video aktualisieren</string>
<string name="description">Beschreibung</string>
@ -719,7 +722,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="delete_video">Video löschen</string>
<string name="delete_video_confirmation">Möchten Sie dieses Video wirklich löschen?</string>
<string name="no_video_uploaded">Noch keine Videos hochgeladen!</string>
<string name="display_nsfw_videos">Videos mit unpassenden Inhalten anzeigen</string>
<string name="display_nsfw_videos">Videos mit heiklen Inhalten anzeigen</string>
<string name="default_channel_of">Standard %s Kanal</string>
<string name="no_video_to_display">Keine Videos zum Anzeigen!</string>
<string name="add_image_to_favorite">Medien zu Favoriten hinzufügen</string>
@ -760,7 +763,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="action_plain_text">Reintext</string>
<string name="action_html">HTML</string>
<string name="action_markdown">Markdown</string>
<string name="action_logout_account">Von Konto abmelden</string>
<string name="action_logout_account">Konto abmelden</string>
<string name="set_optimize_loading">Ladezeit optimieren</string>
<string name="all">Alle</string>
<string name="about_opencollective">Die App unterstützen</string>
@ -785,6 +788,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="set_retrieve_metadata_share_from_extras">Metadaten abrufen, wenn die URL von anderen Apps geteilt wird</string>
<!-- end languages -->
<string name="poll">Umfrage</string>
<string name="polls">Umfragen</string>
<string name="create_poll">Umfrage erstellen</string>
<string name="poll_choice_1">Möglichkeit 1</string>
<string name="poll_choice_2">Möglichkeit 2</string>
@ -797,6 +801,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="vote">Abstimmen</string>
<string name="poll_not_private">Eine Umfrage kann nicht an eine direkte Nachricht angehängt werden!</string>
<string name="notif_poll">Eine Umfrage, in der du abgestimmt hast, ist beendet</string>
<string name="notif_poll_self">Eine deiner Umfragen ist beendet</string>
<string name="settings_category_notif_customize">Anpassen</string>
<string name="settings_category_notif_categories">Kategorien</string>
<string name="settings_category_notif_news">Neuigkeiten</string>
@ -815,6 +820,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n
<string name="warning_list_deletion">Verwenden Sie den Listeneintrag zum Löschen dieser Liste!</string>
<string name="warning_main_timeline">Hauptzeitachsen können nur ausgeblendet werden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Zeitachse hinzufügen</string>
<plurals name="number_of_vote">
<item quantity="one">%d Stimme</item>
<item quantity="other">%d Stimmen</item>

View File

@ -125,6 +125,7 @@
<item>Φραγή αυτού του λογαριασμού;</item>
<item>Αναφορά αυτής της φωνής;</item>
<item>Φραγή αυτού του τομέα;</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Ειδοποίηση</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Ειδοποίηση όταν κάποιος ενισχύει την κατάστασή σου</string>
<string name="set_notif_follow_add">Ειδοποίηση όταν σε κάποιον αρέσει η κατάστασή σου</string>
<string name="set_notif_follow_mention">Ειδοποίηση όταν κάποιος σε αναφέρει</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Προβολή του διαλόγου επιβεβαίωσης, πριν από την ενίσχυση</string>
<string name="set_share_validation_fav">Προβολή του διαλόγου επιβεβαίωσης, πριν να γίνει προσθήκη στα Αγαπημένα</string>
<string name="set_wifi_only">Ειδοποίηση μόνο όταν σε Γουάι-Φάι</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Νέα Ενίσχυση</string>
<string name="channel_notif_fav">Νέο Αγαπημένο</string>
<string name="channel_notif_mention">Νέα Μνημόνευση</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Νέα Φωνή</string>
<string name="channel_notif_backup">Αντίγραφο των Φωνών</string>
<string name="channel_notif_media">Κατέβασμα Πολυμέσων</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Προσκόλληση μιας εικόνας, όταν κοινοποιείται διεύθυνση URL</string>
<!-- end languages -->
<string name="poll">Ψηφοφορία</string>
<string name="polls">Polls</string>
<string name="create_poll">Δημιουργία ψηφοφορίας</string>
<string name="poll_choice_1">1η επιλογή</string>
<string name="poll_choice_2">2η επιλογή</string>
@ -809,6 +813,7 @@
<string name="vote">Ψήφισμα</string>
<string name="poll_not_private">Μία ψηφοφορίας δεν μπορεί να προσκολληθεί σε ένα άμεσο μήνυμα.</string>
<string name="notif_poll">Μία ψηφοφορία στην οποία συμμετείχες έχει τελειώσει</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Προσαρμογή</string>
<string name="settings_category_notif_categories">Κατηγορίες</string>
<string name="settings_category_notif_news">Νέα</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Η κύρια χρονοστήλη μπορεί, μονάχα, να κρυφτεί.</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d ψήφοι</item>

View File

@ -125,6 +125,7 @@
<item>¿Bloquear esta cuenta?</item>
<item>¿Reportar este toot?</item>
<item>¿Bloquear este dominio?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notificar</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notificar cuando alguien retootee tu estado</string>
<string name="set_notif_follow_add">Notificar cuando alguien agrega a favoritos tu estado</string>
<string name="set_notif_follow_mention">Notificar cuando alguien te mencione</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Mostrar diálogo de confirmación antes de retootear</string>
<string name="set_share_validation_fav">Mostrar diálogo de confirmación antes de agregar a favoritos</string>
<string name="set_wifi_only">Notificaciones en WI-FI solamente</string>
@ -569,6 +571,7 @@ https://yandex.ru/legal/confidential/?lang=en </string>
<string name="channel_notif_boost">Nuevo Boost</string>
<string name="channel_notif_fav">Nuevo Favorito</string>
<string name="channel_notif_mention">Nueva Mención</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nuevo Toot</string>
<string name="channel_notif_backup">Respaldo de toots</string>
<string name="channel_notif_media">Descargar contenido multimedia</string>
@ -791,6 +794,7 @@ https://yandex.ru/legal/confidential/?lang=en </string>
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -803,6 +807,7 @@ https://yandex.ru/legal/confidential/?lang=en </string>
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -821,6 +826,7 @@ https://yandex.ru/legal/confidential/?lang=en </string>
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Blokeatu kontu hau?</item>
<item>Salatu toot hau?</item>
<item>Blokeatu domeinu hau?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Jakinarazi</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Jakinarazi norbaitek zure mezuari bultzada ematean</string>
<string name="set_notif_follow_add">Jakinarazi norbaitek zure mezua gogoko duenean</string>
<string name="set_notif_follow_mention">Jakinarazi norbaitek aipatzen zaituenean</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Baieztatu bultzada eman aurretik</string>
<string name="set_share_validation_fav">Baieztatu gogokoetara gehitu aurretik</string>
<string name="set_wifi_only">Jakinarazi WIFI bidez besterik ez</string>
@ -573,6 +575,7 @@
<string name="channel_notif_boost">Bultzada berria</string>
<string name="channel_notif_fav">Gogoko berria</string>
<string name="channel_notif_mention">Aipamen berria</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Toot berria</string>
<string name="channel_notif_backup">Toot-en babes-kopia</string>
<string name="channel_notif_media">Multimediaren deskarga</string>
@ -795,6 +798,7 @@
<string name="set_retrieve_metadata_share_from_extras">Erantsi irudi bat URL bat partekatzean</string>
<!-- end languages -->
<string name="poll">Inkesta</string>
<string name="polls">Polls</string>
<string name="create_poll">Sortu inkesta bat</string>
<string name="poll_choice_1">1. aukera</string>
<string name="poll_choice_2">2. aukera</string>
@ -807,6 +811,7 @@
<string name="vote">Eman botoa</string>
<string name="poll_not_private">Ezin da inkesta bat txertatu mezu zuen batean!</string>
<string name="notif_poll">Zuk erantzun duzun inkesta bat bukatu da</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Pertsonalizatu</string>
<string name="settings_category_notif_categories">Kategoriak</string>
<string name="settings_category_notif_news">Berriak</string>
@ -825,6 +830,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">boto %d</item>
<item quantity="other">%d boto</item>

View File

@ -125,6 +125,7 @@
<item>این حساب مسدود شود؟</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Bloquer ce compte ?</item>
<item>Signaler ce pouet ?</item>
<item>Désirez-vous bloquer ce domaine ?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notifier</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notifier lorsque quelquun partage mes pouets</string>
<string name="set_notif_follow_add">Notifier lorsque quelquun ajoute mes pouets à ses favoris</string>
<string name="set_notif_follow_mention">Notifier lorsque quelquun me mentionne</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Confirmer avant de partager</string>
<string name="set_share_validation_fav">Confirmer avant dajouter aux favoris</string>
<string name="set_wifi_only">Notifier en WIFI seulement</string>
@ -572,6 +574,7 @@
<string name="channel_notif_boost">Nouveau Repouet</string>
<string name="channel_notif_fav">Nouveau Favori</string>
<string name="channel_notif_mention">Nouvelle mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nouveau pouet</string>
<string name="channel_notif_backup">Sauvegarde des Pouets</string>
<string name="channel_notif_media">Téléchargement des Médias</string>
@ -794,6 +797,7 @@ Le bouton de connexion sactivera une fois quun domaine valide sera renseig
<string name="set_retrieve_metadata_share_from_extras">Attacher une image lors du partage d\'une URL</string>
<!-- end languages -->
<string name="poll">Sondages</string>
<string name="polls">Polls</string>
<string name="create_poll">Créer un sondage</string>
<string name="poll_choice_1">Choix 1</string>
<string name="poll_choice_2">Choix 2</string>
@ -806,6 +810,7 @@ Le bouton de connexion sactivera une fois quun domaine valide sera renseig
<string name="vote">Voter</string>
<string name="poll_not_private">Un sondage ne peut pas être attaché à un message direct!</string>
<string name="notif_poll">Le sondage auquel vous avez participé est maintenant terminé</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Personnaliser</string>
<string name="settings_category_notif_categories">Catégories</string>
<string name="settings_category_notif_news">Actualités</string>
@ -824,6 +829,7 @@ Le bouton de connexion sactivera une fois quun domaine valide sera renseig
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Bloquear esta conta?</item>
<item>Informar sobre este toot?</item>
<item>Bloquear este dominio?</item>
<item>Voltar a ler esta conta?</item>
</string-array>
<string-array name="action_notification">
<item>Notificar</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notificar cando alguén promove un dos seus toots</string>
<string name="set_notif_follow_add">Notificar cando alguén favorece un dos seus estados</string>
<string name="set_notif_follow_mention">Notificar cando alguén a menciona</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Solicitar confirmación antes de promover</string>
<string name="set_share_validation_fav">Solicitar confirmación antes de engadir a favoritos</string>
<string name="set_wifi_only">Notificar só cando WiFi</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Nova promoción</string>
<string name="channel_notif_fav">Novo favorito</string>
<string name="channel_notif_mention">Nova mención</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Novo Toot</string>
<string name="channel_notif_backup">Respaldo de Toots</string>
<string name="channel_notif_media">Descarga de medios</string>
@ -798,6 +801,7 @@
<string name="set_retrieve_metadata_share_from_extras">Obter metadatos se o URL os comparte desde outras apps</string>
<!-- end languages -->
<string name="poll">Sondaxe</string>
<string name="polls">Polls</string>
<string name="create_poll">Crear sondaxe</string>
<string name="poll_choice_1">Opción 1</string>
<string name="poll_choice_2">Opción 2</string>
@ -810,6 +814,7 @@
<string name="vote">Votar</string>
<string name="poll_not_private">Unha sondaxe non se pode anexar a unha mensaxe directa!</string>
<string name="notif_poll">Rematou a sondaxe na que participou</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Personalizar</string>
<string name="settings_category_notif_categories">Categorías</string>
<string name="settings_category_notif_news">Novas</string>
@ -822,12 +827,13 @@
<string name="move_timeline">Mover liña temporal</string>
<string name="hide_timeline">Agochar liña temporal</string>
<string name="reorder_timelines">Ordear liñas temporais</string>
<string name="undo">Undo</string>
<string name="visible_tabs_needed">You need to keep two visible tabs!</string>
<string name="action_reorder_timeline">Reorder timelines</string>
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="undo">Desfacer</string>
<string name="visible_tabs_needed">Debe manter dúas lapelas visibles!</string>
<string name="action_reorder_timeline">Ordear liñas temporais</string>
<string name="warning_list_deletion">Utilice os axustes das listas para eliminar esta lista!</string>
<string name="warning_main_timeline">As liñas temporais principais só poden ocultarse!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d voto</item>
<item quantity="other">%d votos</item>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -582,6 +584,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -805,6 +808,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -817,6 +821,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -835,6 +840,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="two">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>इस खाते को अवरुद्ध करें?</item>
<item>इस संदेश को रिपोर्ट करें?</item>
<item>इस इंस्टेंस को अवरुद्ध करें?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>सूचित करें</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">आपके लेख बूस्ट होने पर सूचित करें</string>
<string name="set_notif_follow_add">आपके लेख पसंद होने पर सूचित करें</string>
<string name="set_notif_follow_mention">आपका उल्लेख होने पर सूचित करें</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">बूस्ट करने से पहले पूछें</string>
<string name="set_share_validation_fav">पसंद करने से पहले पूछें</string>
<string name="set_wifi_only">केवल वाईफ़ाई पे सूचित करें</string>
@ -566,6 +568,7 @@
<string name="channel_notif_boost">नया बूस्ट</string>
<string name="channel_notif_fav">नया पसंदीदा</string>
<string name="channel_notif_mention">नया उल्लेख</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">नया लेख</string>
<string name="channel_notif_backup">लेखों का बैकअप</string>
<string name="channel_notif_media">मीडिया डाउंलोड</string>
@ -786,6 +789,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -798,6 +802,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -816,6 +821,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Letiltod ezt a fiókot?</item>
<item>Jelented ezt a tootot?</item>
<item>Letiltod ezt a domént?</item>
<item>Megszünteted a fiók elnémítását?</item>
</string-array>
<string-array name="action_notification">
<item>Értesítés</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Értesíts, amikor valaki megismétli a posztodat</string>
<string name="set_notif_follow_add">Értesíts, ha valaki lájkolja a posztodat</string>
<string name="set_notif_follow_mention">Értesíts, amikor valaki megemlít téged</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Kérdezz vissza újratootolás előtt</string>
<string name="set_share_validation_fav">Megerősítés kérése kedvencekhez hozzáadás előtt</string>
<string name="set_wifi_only">Értesítés csak WiFi használatakor </string>
@ -571,6 +573,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http
<string name="channel_notif_boost">Új újratoot</string>
<string name="channel_notif_fav">Új kedvenc</string>
<string name="channel_notif_mention">Új említés</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Új toot</string>
<string name="channel_notif_backup">Tootok elmentése</string>
<string name="channel_notif_media">Média letöltése</string>
@ -794,6 +797,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http
<string name="set_retrieve_metadata_share_from_extras">Kép csatolása URL megosztásakor</string>
<!-- end languages -->
<string name="poll">Szavazás</string>
<string name="polls">Polls</string>
<string name="create_poll">Szavazás létrehozása</string>
<string name="poll_choice_1">1. lehetőség</string>
<string name="poll_choice_2">2. lehetőség</string>
@ -806,6 +810,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http
<string name="vote">Szavazás</string>
<string name="poll_not_private">Közvetlen üzenethez nem csatolhatsz szavazást!</string>
<string name="notif_poll">Véget ért egy szavazás, amiben részt vettél</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Testreszabás</string>
<string name="settings_category_notif_categories">Kategóriák</string>
<string name="settings_category_notif_news">Hírek</string>
@ -824,6 +829,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http
<string name="warning_list_deletion">A lista törléséhez használd a listabejegyzést!</string>
<string name="warning_main_timeline">A fő idővonalakat csak elrejteni lehet!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d szavazat</item>
<item quantity="other">%d szavazat</item>

View File

@ -125,6 +125,7 @@
<item>Արգելափակե՞լ այս հաշիվը</item>
<item>Ահազանգե՞լ այս հաշվի մասին</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Տեղեկացնել, երբ որևէ մեկը տարածում է թութդ</string>
<string name="set_notif_follow_add">Տեղեկացնել, երբ որևէ մեկը հավանում է թութդ</string>
<string name="set_notif_follow_mention">Տեղեկացնել, երբ որևէ մեկը նշում է քեզ</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Ցուցադրել հաստատման պատուհանը տարածելուց առաջ</string>
<string name="set_share_validation_fav">Ցուցադրել հաստատման պատուհանը հավանածներին ավելացնելուց առաջ</string>
<string name="set_wifi_only">Ծանուցել միայն WIFI-ին կպած</string>
@ -573,6 +575,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -796,6 +799,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -808,6 +812,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -826,6 +831,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Blok akun ini?</item>
<item>Laporkan kutipan ini?</item>
<item>Blok domain ini?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notifikasi</item>
@ -300,6 +301,7 @@
<string name="set_notif_follow_share">Beritahu ketika seseorang meningkatkan status Anda</string>
<string name="set_notif_follow_add">Beritahu ketika seseorang menyukai status Anda</string>
<string name="set_notif_follow_mention">Beritahu ketika seseorang menyebut Anda</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Tampilkan dialog konfirmasi sebelum meningkatkan</string>
<string name="set_share_validation_fav">Tampilkan dialog konfirmasi sebelum menambahkan ke favorit</string>
<string name="set_wifi_only">Beritahu hanya di WIFI</string>
@ -572,6 +574,7 @@ https://yandex.ru/legal/confidential/?lang=en
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -795,6 +798,7 @@ https://yandex.ru/legal/confidential/?lang=en
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -807,6 +811,7 @@ https://yandex.ru/legal/confidential/?lang=en
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -825,6 +830,7 @@ https://yandex.ru/legal/confidential/?lang=en
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d votes</item>
</plurals>

View File

@ -125,6 +125,7 @@
<item>Bloccare questo account?</item>
<item>Segnalare questo toot?</item>
<item>Bloccare questo dominio?</item>
<item>Smettere di silenziare questo account?</item>
</string-array>
<string-array name="action_notification">
<item>Notifica</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notifica quando qualcuno ricondivide al tuo stato</string>
<string name="set_notif_follow_add">Notifica quando qualcuno mette tra i preferiti il tuo stato</string>
<string name="set_notif_follow_mention">Notifica quando qualcuno ti menziona</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Mostra finestra di dialogo prima della ricondivisione</string>
<string name="set_share_validation_fav">Mostra finestra di dialogo prima di aggiungere ai preferiti</string>
<string name="set_wifi_only">Notifica solo in WIFI</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Un nuovo boost</string>
<string name="channel_notif_fav">Un nuovo mi piace</string>
<string name="channel_notif_mention">Una nuova menzione</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Un nuovo toot</string>
<string name="channel_notif_backup">Backup dei toot</string>
<string name="channel_notif_media">Scarica i media</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Recupera metadati se l\'URL che condivide da altre applicazioni</string>
<!-- end languages -->
<string name="poll">Sondaggio</string>
<string name="polls">Polls</string>
<string name="create_poll">Crea un sondaggio</string>
<string name="poll_choice_1">Scelta 1</string>
<string name="poll_choice_2">Scelta 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vota</string>
<string name="poll_not_private">Un sondaggio non può essere allegato ad un messaggio diretto!</string>
<string name="notif_poll">Un sondaggio in cui hai votato è terminato</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Personalizza</string>
<string name="settings_category_notif_categories">Categorie</string>
<string name="settings_category_notif_news">Novità</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Usa la voce delle liste per eliminare questa lista!</string>
<string name="warning_main_timeline">Le timeline principali possono solo essere nascoste!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d voto</item>
<item quantity="other">%d voti</item>

View File

@ -125,6 +125,7 @@
<item>このアカウントをブロックしますか?</item>
<item>このトゥートを報告しますか?</item>
<item>このドメインをブロックしますか?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>通知</item>
@ -300,6 +301,7 @@
<string name="set_notif_follow_share">トゥートがブーストされたときに通知</string>
<string name="set_notif_follow_add">トゥートがお気に入りに追加されたときに通知</string>
<string name="set_notif_follow_mention">メンションを受け取ったときに通知</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">ブースト前に確認ダイアログを表示する</string>
<string name="set_share_validation_fav">お気に入りに追加する前に確認ダイアログを表示する</string>
<string name="set_wifi_only">WIFI接続時のみ通知</string>
@ -562,6 +564,7 @@
<string name="channel_notif_boost">新しいブースト</string>
<string name="channel_notif_fav">新しいお気に入り</string>
<string name="channel_notif_mention">新しいメンション</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">新しいトゥート</string>
<string name="channel_notif_backup">トゥート バックアップ</string>
<string name="channel_notif_media">メディアのダウンロード</string>
@ -785,6 +788,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -797,6 +801,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -815,6 +820,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d votes</item>
</plurals>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>이 계정을 차단하시겠습니까?</item>
<item>이 툿을 신고하시겠습니까?</item>
<item>이 도메인을 차단하시겠습니까?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>알림</item>
@ -300,6 +301,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -570,6 +572,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -793,6 +796,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -805,6 +809,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -823,6 +828,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d votes</item>
</plurals>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -56,7 +56,7 @@
<string name="validate">Bevestigen</string>
<string name="media">Media</string>
<string name="share_with">Delen met</string>
<string name="shared_via">Gedeeld via Mastalab</string>
<string name="shared_via">Gedeeld via Fedilab</string>
<string name="replies">Reacties</string>
<string name="username">Gebruikersnaam</string>
<string name="drafts">Concepten</string>
@ -125,6 +125,7 @@
<item>Account blokkeren?</item>
<item>Toot rapporteren?</item>
<item>Dit domein blokkeren?</item>
<item>Dit account niet langer negeren?</item>
</string-array>
<string-array name="action_notification">
<item>Melden</item>
@ -273,7 +274,7 @@
<string name="nothing_to_do">Er valt niets te doen</string>
<string name="toast_saved">Media is opgeslagen!</string>
<string name="toast_error_translate">Er ging wat mis tijdens het vertalen!</string>
<string name="toast_error_translations_disabled">Translations are disabled in settings</string>
<string name="toast_error_translations_disabled">Vertalingen zijn uitgeschakeld in instellingen</string>
<string name="toast_toot_saved">Concept opgeslagen!</string>
<string name="toast_error_char_limit">Weet je zeker dat je op deze server zoveel tekens mag gebruiken? Standaard is er een limiet van 500 karakters.</string>
<string name="toast_visibility_changed">Zichtbaarheid toots van account %1$s is veranderd</string>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Geef een melding wanneer jouw toot is geboost</string>
<string name="set_notif_follow_add">Geef een melding wanneer jouw toot als favoriet is gemarkeerd</string>
<string name="set_notif_follow_mention">Geef een melding wanneer iemand jou vermeldt</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Vraag voor het boosten een bevestiging</string>
<string name="set_share_validation_fav">Vraag voor het markeren als favoriet een bevestiging</string>
<string name="set_wifi_only">Alleen met Wifi meldingen tonen</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Nieuwe boost</string>
<string name="channel_notif_fav">Nieuwe favoriet</string>
<string name="channel_notif_mention">Nieuwe vermelding</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nieuwe toot</string>
<string name="channel_notif_backup">Toots back-uppen</string>
<string name="channel_notif_media">Media downloaden</string>
@ -794,6 +797,7 @@ Je kunt beginnen met typen en er zullen namen gesuggereerd worden.\n\n
<string name="set_retrieve_metadata_share_from_extras">Een afbeelding toevoegen wanneer een URL wordt gedeeld</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Een poll maken</string>
<string name="poll_choice_1">Keuze 1</string>
<string name="poll_choice_2">Keuze 2</string>
@ -801,29 +805,31 @@ Je kunt beginnen met typen en er zullen namen gesuggereerd worden.\n\n
<string name="poll_choice_4">Keuze 4</string>
<string name="poll_invalid_choices">Je hebt tenminste twee keuzes nodig voor een poll!</string>
<string name="done">Klaar</string>
<string name="poll_finish_at">eindigt over %s</string>
<string name="poll_finish_at">eindigt op %s</string>
<string name="refresh_poll">Poll vernieuwen</string>
<string name="vote">Stemmen</string>
<string name="poll_not_private">Een poll kan niet aan een direct bericht worden toegevoegd!</string>
<string name="notif_poll">Een poll waarin je hebt gestemd is beëindigd</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
<string name="settings_category_notif_time_slot">Time slot</string>
<string name="settings_category_notif_advanced">Advanced</string>
<string name="set_display_new_badge">Display \'new\' badge on unread toots</string>
<string name="set_display_peertube">Display Peertube timeline</string>
<string name="peertube_menu">Peertube</string>
<string name="hide_tab">Hide the tab</string>
<string name="move_timeline">Move timeline</string>
<string name="hide_timeline">Hide timeline</string>
<string name="reorder_timelines">Reorder timelines</string>
<string name="undo">Undo</string>
<string name="visible_tabs_needed">You need to keep two visible tabs!</string>
<string name="action_reorder_timeline">Reorder timelines</string>
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Aanpassen</string>
<string name="settings_category_notif_categories">Categorieën</string>
<string name="settings_category_notif_news">Nieuws</string>
<string name="settings_category_notif_time_slot">Tijdslot</string>
<string name="settings_category_notif_advanced">Geavanceerd</string>
<string name="set_display_new_badge">Badge met \'nieuw\' op ongelezen toots tonen</string>
<string name="set_display_peertube">PeerTubetijdlijn tonen</string>
<string name="peertube_menu">PeerTube</string>
<string name="hide_tab">Tabblad verbergen</string>
<string name="move_timeline">Tijdlijn verplaatsen</string>
<string name="hide_timeline">Tijdlijn verbergen</string>
<string name="reorder_timelines">Tijdlijnen herordenen</string>
<string name="undo">Ongedaan maken</string>
<string name="visible_tabs_needed">Je moet twee zichtbare tabbladen behouden!</string>
<string name="action_reorder_timeline">Tijdlijnen herordenen</string>
<string name="warning_list_deletion">Druk lang op de lijstnaam onder lijsten om deze lijst te verwijderen!</string>
<string name="warning_main_timeline">Hoofdtijdlijnen kunnen alleen worden verborgen!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d stem</item>
<item quantity="other">%d stemmen</item>

View File

@ -125,6 +125,7 @@
<item>Blokkere denne kontoen?</item>
<item>Rapportere dette tootet?</item>
<item>Blokkere dette domenet?</item>
<item>Fjern demping for denne kontoen?</item>
</string-array>
<string-array name="action_notification">
<item>Varsle</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Varsle når noen booster tootene dine</string>
<string name="set_notif_follow_add">Varsle når noen favoriserer tootene dine</string>
<string name="set_notif_follow_mention">Varsle når noen nevner deg</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Vis bekreftelsesdialog før du booster</string>
<string name="set_share_validation_fav">Vis bekreftelsesdialog før du legger til i favoritter</string>
<string name="set_wifi_only">Varsle kun på WIFI</string>
@ -565,6 +567,7 @@ Du kan aktivere eller deaktivere disse meldingene senere i innstillingene (Meldi
<string name="channel_notif_boost">Ny boost</string>
<string name="channel_notif_fav">Ny favoritt</string>
<string name="channel_notif_mention">Ny nevning</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Ny toot</string>
<string name="channel_notif_backup">Backup av toots</string>
<string name="channel_notif_media">Last ned media</string>
@ -785,6 +788,7 @@ Adresser vil bli foreslått når du begynner å skrive.\n\n
<string name="set_retrieve_metadata_share_from_extras">Tilknytt et bilde når du deler en URL</string>
<!-- end languages -->
<string name="poll">Avstemning</string>
<string name="polls">Polls</string>
<string name="create_poll">Lag en avstemming</string>
<string name="poll_choice_1">Valg 1</string>
<string name="poll_choice_2">Valg 2</string>
@ -797,6 +801,7 @@ Adresser vil bli foreslått når du begynner å skrive.\n\n
<string name="vote">Stem</string>
<string name="poll_not_private">En avstemming kan ikke kobles til en direktemelding!</string>
<string name="notif_poll">En avstemming du har stemt på er avsluttet</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Tilpass</string>
<string name="settings_category_notif_categories">Kategorier</string>
<string name="settings_category_notif_news">Nyheter</string>
@ -815,6 +820,7 @@ Adresser vil bli foreslått når du begynner å skrive.\n\n
<string name="warning_list_deletion">Bruk listeoppføringen for å slette denne listen!</string>
<string name="warning_main_timeline">Hovedtidslinjer kan bare skjules!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d stemme</item>
<item quantity="other">%d stemmer</item>

View File

@ -125,6 +125,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Zablokować?</item>
<item>Zgłosić ten wpis?</item>
<item>Zablokować tę domenę?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Powiadomienie</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Powiadom mnie, gdy ktoś podbije mój wpis</string>
<string name="set_notif_follow_add">Powiadom mnie, gdy ktoś polubi mój wpis</string>
<string name="set_notif_follow_mention">Powiadom mnie, gdy ktoś mnie wspomni</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Proś o potwierdzenie przed podbiciem</string>
<string name="set_share_validation_fav">Proś o potwierdzenie przed dodaniem wpisu do ulubionych</string>
<string name="set_wifi_only">Powiadamiaj tylko w sieci WiFi</string>
@ -579,6 +581,7 @@
<string name="channel_notif_boost">Nowe Podbicie</string>
<string name="channel_notif_fav">Nowe ulubione</string>
<string name="channel_notif_mention">Nowe Wspomnienie</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nowy Wpis</string>
<string name="channel_notif_backup">Kopia zapasowa wpisów</string>
<string name="channel_notif_media">Pobrane Media</string>
@ -799,6 +802,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -811,6 +815,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -829,6 +834,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="few">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Bloquear esta conta?</item>
<item>Denunciar este toot?</item>
<item>Bloquear este domínio?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notificar</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notificar quando alguém compartilhar suas postagens</string>
<string name="set_notif_follow_add">Notificar quando alguém favoritar suas postagens</string>
<string name="set_notif_follow_mention">Notificar quando alguém te mencionar</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Mostrar diálogo antes de compartilhar</string>
<string name="set_share_validation_fav">Mostrar diálogo antes de adicionar aos favoritos</string>
<string name="set_wifi_only">Notificar somente em Wi-Fi</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Novo Boost</string>
<string name="channel_notif_fav">Novo Favorito</string>
<string name="channel_notif_mention">Nova Menção</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Novo Toot</string>
<string name="channel_notif_backup">Backup de Toots</string>
<string name="channel_notif_media">Baixar mídia</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Recuperar os metadados se se tratar duma URL que partilha doutras aplicações</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -809,6 +813,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Blochează acest cont?</item>
<item>Raportează acestă notiță?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -308,6 +309,7 @@
<string name="set_notif_follow_share">Notifica atunci când cineva amplifică statusul</string>
<string name="set_notif_follow_add">Notifica atunci când cineva favorizează statusul tău</string>
<string name="set_notif_follow_mention">Notifică atunci când cineva vă menţionează</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Arată caseta de confirmare înainte de amplificare</string>
<string name="set_share_validation_fav">Arată caseta de confirmare înainte de a adăuga la favorite</string>
<string name="set_wifi_only">Notifică doar în WIFI</string>
@ -575,6 +577,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -798,6 +801,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -810,6 +814,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -828,6 +833,7 @@ Aceste date sunt strict confidențiale și pot fi folosite doar de aplicație.
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="few">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Заблокировать этот аккаунт?</item>
<item>Пожаловаться на этот тут?</item>
<item>Заблокировать этот домен?</item>
<item>Не глушить этот аккаунт?</item>
</string-array>
<string-array name="action_notification">
<item>Уведомлять</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Уведомлять, когда кто-то продвигает ваш статус</string>
<string name="set_notif_follow_add">Уведомлять, если кто-то добавил ваш статус в избранное</string>
<string name="set_notif_follow_mention">Уведомлять, когда кто-то вас упоминает</string>
<string name="set_notif_follow_poll">Уведомить об окончании опроса</string>
<string name="set_share_validation">Предупреждать перед тем как продвинуть</string>
<string name="set_share_validation_fav">Предупреждать перед добавлением в избранные</string>
<string name="set_wifi_only">Уведомлять только в сети WIFI</string>
@ -545,7 +547,7 @@
<string name="action_filters_empty_content">Нет фильтров для отображения. Вы можете создать первый, нажав кнопку \"+\".</string>
<string name="filter_keyword">Ключевое слово или фраза</string>
<string name="context_home">Домашняя лента</string>
<string name="context_public">Публичная лента</string>
<string name="context_public">Публичные ленты</string>
<string name="context_notification">Уведомления</string>
<string name="context_conversation">Разговоры</string>
<string name="filter_keyword_explanations">Сравнение будет выполнено независимо от регистра текста и предупреждения о содержании тута</string>
@ -582,6 +584,7 @@
<string name="channel_notif_boost">Новое продвижение</string>
<string name="channel_notif_fav">Новое избранное</string>
<string name="channel_notif_mention">Новое упоминание</string>
<string name="channel_notif_poll">Опрос закончен</string>
<string name="channel_notif_toot">Новый тут</string>
<string name="channel_notif_backup">Резервирование тутов</string>
<string name="channel_notif_media">Загрузка медиа</string>
@ -805,6 +808,7 @@
<string name="set_retrieve_metadata_share_from_extras">Прикрепить изображение при публикации URL</string>
<!-- end languages -->
<string name="poll">Опрос</string>
<string name="polls">Опросы</string>
<string name="create_poll">Создать опрос</string>
<string name="poll_choice_1">Вариант 1</string>
<string name="poll_choice_2">Вариант 2</string>
@ -817,6 +821,7 @@
<string name="vote">Голосовать</string>
<string name="poll_not_private">Опрос не может быть прикреплен к прямому сообщению!</string>
<string name="notif_poll">Опрос, в котором вы проголосовали, завершен</string>
<string name="notif_poll_self">Один из ваших опросов завершен</string>
<string name="settings_category_notif_customize">Настроить</string>
<string name="settings_category_notif_categories">Категории</string>
<string name="settings_category_notif_news">Новости</string>
@ -835,6 +840,7 @@
<string name="warning_list_deletion">Используйте элемент списка для удаления этого списка!</string>
<string name="warning_main_timeline">Основные ленты могут быть только скрыты!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Добавить в ленту</string>
<plurals name="number_of_vote">
<item quantity="one">%d голос</item>
<item quantity="few">%d голоса</item>

View File

@ -125,6 +125,7 @@
<item>මෙම ගිණුම අවහිර කරනවා ද?</item>
<item>Report this toot?</item>
<item>මෙම අඩවිය අවහිර කරනවා ද?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>දැනුම්දෙන්න</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -796,6 +799,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -808,6 +812,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -826,6 +831,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Naj blokiram ta račun?</item>
<item>Želite prijaviti sporne vsebine v tej objavi?</item>
<item>Želite blokirati to domeno?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Obvesti</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Obveščaj me, ko nekdo ojača moj status</string>
<string name="set_notif_follow_add">Obveščaj me, ko kdo moj status doda med priljubljene</string>
<string name="set_notif_follow_mention">Obveščaj me, ko me kdo omeni</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Vprašaj me za potrditev preden ojačam</string>
<string name="set_share_validation_fav">Pred dodajanjem med priljubljene me vprašaj za potrditev</string>
<string name="set_wifi_only">Obveščanj le v omrežju WiFi</string>
@ -582,6 +584,7 @@
<string name="channel_notif_boost">Novo ojačanje</string>
<string name="channel_notif_fav">Nov všeček</string>
<string name="channel_notif_mention">Nova omemba</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Nova objava Toot</string>
<string name="channel_notif_backup">Arhivirani Tooti</string>
<string name="channel_notif_media">Prenos vsebine</string>
@ -805,6 +808,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -817,6 +821,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -835,6 +840,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="two">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Блокирај овај налог?</item>
<item>Пријави овaj тут?</item>
<item>Блокирај овај домен?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Обавести</item>
@ -308,6 +309,7 @@
<string name="set_notif_follow_share">Обавести када неко подржи Ваш статус</string>
<string name="set_notif_follow_add">Обавести када неко стави да му је Ваш статус омиљен</string>
<string name="set_notif_follow_mention">Обавести када Вас неко помене</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Прикажи потврду пре давања подршке некоме</string>
<string name="set_share_validation_fav">Прикажи дијалог за потврду пре додавања у омиљене</string>
<string name="set_wifi_only">Обавештавај само на бежичној мрежи</string>
@ -578,6 +580,7 @@
<string name="channel_notif_boost">Нова подршка</string>
<string name="channel_notif_fav">Нови омиљени</string>
<string name="channel_notif_mention">Ново спомињање</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Нови тут</string>
<string name="channel_notif_backup">Резервне копије тутова</string>
<string name="channel_notif_media">Преузимање мултимедије</string>
@ -801,6 +804,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -813,6 +817,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -831,6 +836,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="few">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Blockera detta konto?</item>
<item>Anmäl den här tooten?</item>
<item>Blockera denna domän?</item>
<item>Återställ ljud på detta konto?</item>
</string-array>
<string-array name="action_notification">
<item>Meddela</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Meddela när någon ökar din status</string>
<string name="set_notif_follow_add">Meddela när någon favoriter din status</string>
<string name="set_notif_follow_mention">Meddela när någon nämner dig</string>
<string name="set_notif_follow_poll">Meddela när en röstning slutar</string>
<string name="set_share_validation">Visa en bekräftelsedialogruta före boostning</string>
<string name="set_share_validation_fav">Visa bekräftelsedialogrutan innan du lägger till favoriter</string>
<string name="set_wifi_only">Notifiera endast över WIFI</string>
@ -574,6 +576,7 @@
<string name="channel_notif_boost">Ny boost</string>
<string name="channel_notif_fav">Ny favorit</string>
<string name="channel_notif_mention">Nytt omnämnande</string>
<string name="channel_notif_poll">Röstning avslutad</string>
<string name="channel_notif_toot">Ny Toot</string>
<string name="channel_notif_backup">Backup av Toot</string>
<string name="channel_notif_media">Ladda ner media</string>
@ -797,6 +800,7 @@
<string name="set_retrieve_metadata_share_from_extras">Hämta metadata om webbadress delas av andra appar</string>
<!-- end languages -->
<string name="poll">Enkät</string>
<string name="polls">Röstning</string>
<string name="create_poll">Skapa en enkät</string>
<string name="poll_choice_1">Val 1</string>
<string name="poll_choice_2">Val 2</string>
@ -809,6 +813,7 @@
<string name="vote">Rösta</string>
<string name="poll_not_private">En undersökning kan inte bifogas i ett direktmeddelande!</string>
<string name="notif_poll">En enkät som du röstat i har avslutats</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Anpassa</string>
<string name="settings_category_notif_categories">Kategorier</string>
<string name="settings_category_notif_news">Nyheter</string>
@ -827,6 +832,7 @@
<string name="warning_list_deletion">Använd posten listor för att ta bort denna lista!</string>
<string name="warning_main_timeline">Huvudtidslinjen kan bara döljas!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d röst</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Bu hesabı engelle?</item>
<item>Bu toot\'u bildir?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -304,6 +305,7 @@
<string name="set_notif_follow_share">Birisi durumunuzu artırdığında bildir</string>
<string name="set_notif_follow_add">Ne zaman biri sizi favorilere eklerse bildir</string>
<string name="set_notif_follow_mention">Biri kullanıcıyı takip ettiğinde bildir</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Yayın ya da etiket için onay iletişim kutusu göster</string>
<string name="set_share_validation_fav">Favoriler için eklemeden önce onay iletişim kutusu göster</string>
<string name="set_wifi_only">WIFI içinde yalnızca bildir</string>
@ -567,6 +569,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -790,6 +793,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -802,6 +806,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -820,6 +825,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="other">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Заблокувати цей обліковий запис?</item>
<item>Поскаржитися на цей дмух?</item>
<item>Блокувати цей домен?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -312,6 +313,7 @@
<string name="set_notif_follow_share">Сповіщати, якщо хтось передмухнув ваш статус</string>
<string name="set_notif_follow_add">Сповіщати, якщо хтось додав статус до обраного</string>
<string name="set_notif_follow_mention">Сповіщати, якщо хтось згадує вас</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Показати діалогове вікно підтвердження перед тим, як передмухнути</string>
<string name="set_share_validation_fav">Показати діалогове вікно підтвердження перед тим, як додати до обраного</string>
<string name="set_wifi_only">Повідомити тільки при Wi-Fi</string>
@ -572,6 +574,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">Новий гудок</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Медіа завантаження</string>
@ -795,6 +798,7 @@
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -807,6 +811,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -825,6 +830,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>
<item quantity="few">%d votes</item>

View File

@ -125,6 +125,7 @@
<item>Chặn tài khoản này?</item>
<item>Báo cáo này thổi còi?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
<item>Notify</item>
@ -302,6 +303,7 @@ và %d toots khác để khám phá</item>
<string name="set_notif_follow_share">Thông báo khi ai đó tăng tình trạng của bạn</string>
<string name="set_notif_follow_add">Thông báo khi ai đó yêu thích trạng thái của bạn</string>
<string name="set_notif_follow_mention">Thông báo khi ai đó đề cập đến bạn</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Hiển thị hộp thoại xác nhận trước khi tăng</string>
<string name="set_share_validation_fav">Hiển thị hộp thoại xác nhận trước khi thêm vào mục yêu thích</string>
<string name="set_wifi_only">Chỉ thông báo bằng WIFI</string>
@ -568,6 +570,7 @@ và %d toots khác để khám phá</item>
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -791,6 +794,7 @@ và %d toots khác để khám phá</item>
<string name="set_retrieve_metadata_share_from_extras">Attach an image when sharing a URL</string>
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -803,6 +807,7 @@ và %d toots khác để khám phá</item>
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -821,6 +826,7 @@ và %d toots khác để khám phá</item>
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d votes</item>
</plurals>

View File

@ -125,6 +125,7 @@
<item>是否屏蔽此帐户?</item>
<item>举报这条嘟文吗?</item>
<item>是否屏蔽此域名?</item>
<item>取消该用户的禁言吗?</item>
</string-array>
<string-array name="action_notification">
<item>通知</item>
@ -269,7 +270,7 @@
<string name="nothing_to_do">无法进行任何操作</string>
<string name="toast_saved">媒体已保存!</string>
<string name="toast_error_translate">翻译时出错!</string>
<string name="toast_error_translations_disabled">Translations are disabled in settings</string>
<string name="toast_error_translations_disabled">设置中已禁用翻译</string>
<string name="toast_toot_saved">草稿已保存!</string>
<string name="toast_error_char_limit">您确定此实例允许此数量的字符?通常,该值接近于 500 个字符。</string>
<string name="toast_visibility_changed">已更改帐户 %1$s 的嘟文可见性</string>
@ -300,6 +301,7 @@
<string name="set_notif_follow_share">当某人转嘟您的状态时通知</string>
<string name="set_notif_follow_add">当某人收藏您的状态时通知</string>
<string name="set_notif_follow_mention">当有人提到您时通知</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">转嘟前显示确认对话框</string>
<string name="set_share_validation_fav">添加到收藏夹前显示确认对话框</string>
<string name="set_wifi_only">仅当使用 WiFi 时通知</string>
@ -570,6 +572,7 @@
<string name="channel_notif_boost">新的转嘟</string>
<string name="channel_notif_fav">新的收藏</string>
<string name="channel_notif_mention">新的提及</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">新的嘟文</string>
<string name="channel_notif_backup">嘟文备份</string>
<string name="channel_notif_media">媒体下载</string>
@ -793,6 +796,7 @@
<string name="set_retrieve_metadata_share_from_extras">分享 URL 时附加图像</string>
<!-- end languages -->
<string name="poll">投票</string>
<string name="polls">Polls</string>
<string name="create_poll">创建投票</string>
<string name="poll_choice_1">选项一</string>
<string name="poll_choice_2">选项二</string>
@ -805,24 +809,26 @@
<string name="vote">投票</string>
<string name="poll_not_private">投票无法附加到直接消息上!</string>
<string name="notif_poll">一个你参加过的投票已经结束</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
<string name="settings_category_notif_time_slot">Time slot</string>
<string name="settings_category_notif_advanced">Advanced</string>
<string name="set_display_new_badge">Display \'new\' badge on unread toots</string>
<string name="set_display_peertube">Display Peertube timeline</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">定制</string>
<string name="settings_category_notif_categories">类别</string>
<string name="settings_category_notif_news">新闻</string>
<string name="settings_category_notif_time_slot">时隙</string>
<string name="settings_category_notif_advanced">高级</string>
<string name="set_display_new_badge">在未读嘟文上显示“新”徽章</string>
<string name="set_display_peertube">显示Peertube时间线</string>
<string name="peertube_menu">Peertube</string>
<string name="hide_tab">Hide the tab</string>
<string name="move_timeline">Move timeline</string>
<string name="hide_timeline">Hide timeline</string>
<string name="reorder_timelines">Reorder timelines</string>
<string name="undo">Undo</string>
<string name="visible_tabs_needed">You need to keep two visible tabs!</string>
<string name="action_reorder_timeline">Reorder timelines</string>
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="hide_tab">隐藏选项卡</string>
<string name="move_timeline">移动时间线</string>
<string name="hide_timeline">隐藏时间线</string>
<string name="reorder_timelines">记录时间线</string>
<string name="undo">撤销</string>
<string name="visible_tabs_needed">您需要保持两条可见的时间线!</string>
<string name="action_reorder_timeline">记录时间线</string>
<string name="warning_list_deletion">用列表入口来删除这个列表!</string>
<string name="warning_main_timeline">主时间线只能被隐藏!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d 票</item>
</plurals>

View File

@ -125,6 +125,7 @@
<item>封鎖此帳號?</item>
<item>檢舉此嘟文?</item>
<item>是否封鎖該站點?</item>
<item>取消靜音此帳號?</item>
</string-array>
<string-array name="action_notification">
<item>通知</item>
@ -300,6 +301,7 @@
<string name="set_notif_follow_share">當有人轉嘟您的嘟文時通知</string>
<string name="set_notif_follow_add">當有人收藏您的嘟文時通知您</string>
<string name="set_notif_follow_mention">當有人提及您時通知</string>
<string name="set_notif_follow_poll">投票結束時通知</string>
<string name="set_share_validation">在轉嘟前顯示確認對話框</string>
<string name="set_share_validation_fav">在新增至最愛前顯示確認對話框</string>
<string name="set_wifi_only">僅在使用 Wi-Fi 時才啟用通知</string>
@ -570,6 +572,7 @@ Yandex 有適當的隱私權政策可以在這裡找到https://yandex.ru/l
<string name="channel_notif_boost">新轉嘟</string>
<string name="channel_notif_fav">新最愛</string>
<string name="channel_notif_mention">新提及</string>
<string name="channel_notif_poll">投票結束</string>
<string name="channel_notif_toot">新嘟文</string>
<string name="channel_notif_backup">嘟文備份</string>
<string name="channel_notif_media">媒體下載</string>
@ -793,6 +796,7 @@ Yandex 有適當的隱私權政策可以在這裡找到https://yandex.ru/l
<string name="set_retrieve_metadata_share_from_extras">如果網址是從其他應用程式分享的,則接收其中繼資料</string>
<!-- end languages -->
<string name="poll">投票</string>
<string name="polls">投票</string>
<string name="create_poll">建立投票</string>
<string name="poll_choice_1">第一種選擇</string>
<string name="poll_choice_2">第二種選擇</string>
@ -805,6 +809,7 @@ Yandex 有適當的隱私權政策可以在這裡找到https://yandex.ru/l
<string name="vote">投票</string>
<string name="poll_not_private">投票不能附加到直接訊息中!</string>
<string name="notif_poll">您曾投過的投票已經結束</string>
<string name="notif_poll_self">您所嘟過的投票已經結束</string>
<string name="settings_category_notif_customize">自訂</string>
<string name="settings_category_notif_categories">分類</string>
<string name="settings_category_notif_news">新聞</string>
@ -823,6 +828,7 @@ Yandex 有適當的隱私權政策可以在這裡找到https://yandex.ru/l
<string name="warning_list_deletion">使用清單項目刪除此清單!</string>
<string name="warning_main_timeline">主時間軸只能被隱藏!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="other">%d 人投票</item>
</plurals>

View File

@ -132,6 +132,7 @@
<item>Block this account?</item>
<item>Report this toot?</item>
<item>Block this domain?</item>
<item>Unmute this account?</item>
</string-array>
<string-array name="action_notification">
@ -325,6 +326,7 @@
<string name="set_notif_follow_share">Notify when someone boosts your status</string>
<string name="set_notif_follow_add">Notify when someone favourites your status</string>
<string name="set_notif_follow_mention">Notify when someone mentions you</string>
<string name="set_notif_follow_poll">Notify when a poll ended</string>
<string name="set_share_validation">Show confirmation dialog before boosting</string>
<string name="set_share_validation_fav">Show confirmation dialog before adding to favourites</string>
<string name="set_wifi_only">Notify in WIFI only</string>
@ -647,6 +649,7 @@
<string name="channel_notif_boost">New Boost</string>
<string name="channel_notif_fav">New Favourite</string>
<string name="channel_notif_mention">New Mention</string>
<string name="channel_notif_poll">Poll Ended</string>
<string name="channel_notif_toot">New Toot</string>
<string name="channel_notif_backup">Toots Backup</string>
<string name="channel_notif_media">Media Download</string>
@ -903,6 +906,7 @@
<!-- end languages -->
<string name="poll">Poll</string>
<string name="polls">Polls</string>
<string name="create_poll">Create a poll</string>
<string name="poll_choice_1">Choice 1</string>
<string name="poll_choice_2">Choice 2</string>
@ -915,6 +919,7 @@
<string name="vote">Vote</string>
<string name="poll_not_private">A poll cannot be attached to a direct message!</string>
<string name="notif_poll">A poll you have voted in has ended</string>
<string name="notif_poll_self">A poll you tooted has ended</string>
<string name="settings_category_notif_customize">Customize</string>
<string name="settings_category_notif_categories">Categories</string>
<string name="settings_category_notif_news">News</string>
@ -933,6 +938,7 @@
<string name="warning_list_deletion">Use the lists entry for deleting this list!</string>
<string name="warning_main_timeline">Main timelines can only be hidden!</string>
<string name="action_bbcode">BBCode</string>
<string name="add_timeline">Add a timeline</string>
<plurals name="number_of_vote">
<item quantity="one">%d vote</item>

View File

@ -0,0 +1,11 @@
Added
* Add followed instances directly in the reorder timelines
* Swipe for removing lists
* Polls can be filtered in notifications
Changed
* Remove the follow instances button at the bottom left
Fixed
* Followed instances not visible in light mode
* Click on notifications