Compare commits

..

1 Commits

Author SHA1 Message Date
LucasGGamerM
f6ea0404ef Revert "fix: allows for editing timeline badges again. fixes sk22#800 (#804)"
This reverts commit f14df2bb0f.
2023-09-03 18:26:55 -03:00
71 changed files with 319 additions and 2005 deletions

View File

@@ -15,8 +15,8 @@ android {
applicationId "org.joinmastodon.android.sk"
minSdk 23
targetSdk 33
versionCode 99
versionName "2.0.3+fork.99"
versionCode 98
versionName "2.0.3+fork.98"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resourceConfigurations += ['ar-rSA', 'ar-rDZ', 'be-rBY', 'bn-rBD', 'bs-rBA', 'ca-rES', 'cs-rCZ', 'da-rDK', 'de-rDE', 'el-rGR', 'es-rES', 'eu-rES', 'fa-rIR', 'fi-rFI', 'fil-rPH', 'fr-rFR', 'ga-rIE', 'gd-rGB', 'gl-rES', 'hi-rIN', 'hr-rHR', 'hu-rHU', 'hy-rAM', 'ig-rNG', 'in-rID', 'is-rIS', 'it-rIT', 'iw-rIL', 'ja-rJP', 'kab', 'ko-rKR', 'my-rMM', 'nl-rNL', 'no-rNO', 'oc-rFR', 'pl-rPL', 'pt-rBR', 'pt-rPT', 'ro-rRO', 'ru-rRU', 'si-rLK', 'sl-rSI', 'sv-rSE', 'th-rTH', 'tr-rTR', 'uk-rUA', 'ur-rIN', 'vi-rVN', 'zh-rCN', 'zh-rTW']
}

View File

@@ -25,8 +25,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import androidx.annotation.StringRes;
public class GlobalUserPreferences{
private static final String TAG="GlobalUserPreferences";
@@ -62,7 +60,6 @@ public class GlobalUserPreferences{
public static boolean showNavigationLabels;
public static boolean displayPronounsInTimelines, displayPronounsInThreads, displayPronounsInUserListings;
public static boolean overlayMedia;
public static boolean showSuicideHelp;
private static SharedPreferences getPrefs(){
return MastodonApp.context.getSharedPreferences("global", Context.MODE_PRIVATE);
@@ -122,7 +119,6 @@ public class GlobalUserPreferences{
displayPronounsInThreads=prefs.getBoolean("displayPronounsInThreads", true);
displayPronounsInUserListings=prefs.getBoolean("displayPronounsInUserListings", true);
overlayMedia=prefs.getBoolean("overlayMedia", false);
showSuicideHelp=prefs.getBoolean("showSuicideHelp", true);
if (prefs.contains("prefixRepliesWithRe")) {
prefixReplies = prefs.getBoolean("prefixRepliesWithRe", false)
@@ -181,7 +177,6 @@ public class GlobalUserPreferences{
.putBoolean("displayPronounsInThreads", displayPronounsInThreads)
.putBoolean("displayPronounsInUserListings", displayPronounsInUserListings)
.putBoolean("overlayMedia", overlayMedia)
.putBoolean("showSuicideHelp", showSuicideHelp)
.apply();
}

View File

@@ -97,7 +97,7 @@ public class PushSubscriptionManager{
deviceToken=getPrefs().getString("deviceToken", null);
int tokenVersion=getPrefs().getInt("version", 0);
if(!TextUtils.isEmpty(deviceToken) && tokenVersion==BuildConfig.VERSION_CODE){
registerAllAccountsForPush(true); // TODO: revert this before release
registerAllAccountsForPush(false);
return;
}
Log.i(TAG, "tryRegisterFCM: no token found or app was updated. Trying to get push token...");
@@ -130,11 +130,12 @@ public class PushSubscriptionManager{
return;
}
String endpoint = "https://app.joinmastodon.org/relay-to/fcm/"+deviceToken+"/";
String endpoint = "https://app.joinmastodon.org/relay-to/fcm/"+deviceToken+"/"+accountID;
registerAccountForPush(subscription, endpoint);
}
public void registerAccountForPush(PushSubscription subscription, String endpoint){
MastodonAPIController.runInBackground(()->{
Log.d(TAG, "registerAccountForPush: started for "+accountID);
String encodedPublicKey, encodedAuthKey, pushAccountID;
@@ -163,13 +164,7 @@ public class PushSubscriptionManager{
Log.e(TAG, "registerAccountForPush: error generating encryption key", e);
return;
}
//work-around for adding the randomAccountId
String newEndpoint = endpoint;
if (endpoint.startsWith("https://app.joinmastodon.org/relay-to/fcm/"))
newEndpoint += pushAccountID;
new RegisterForPushNotifications(newEndpoint,
new RegisterForPushNotifications(endpoint,
encodedPublicKey,
encodedAuthKey,
subscription==null ? PushSubscription.Alerts.ofAll() : subscription.alerts,

View File

@@ -313,10 +313,4 @@ public class AccountSession{
.authority(getInstance().map(i -> i.normalizedUri).orElse(domain))
.build();
}
public String getDefaultAvatarUrl() {
return getInstance()
.map(instance->"https://"+domain+(instance.isAkkoma() ? "/images/avi.png" : "/avatars/original/missing.png"))
.orElse("");
}
}

View File

@@ -617,7 +617,7 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
}
}
public void onGapClick(GapStatusDisplayItem.Holder item, boolean downwards){}
public void onGapClick(GapStatusDisplayItem.Holder item){}
public void onWarningClick(WarningFilteredStatusDisplayItem.Holder warning){
int startPos = warning.getAbsoluteAdapterPosition();

View File

@@ -344,7 +344,7 @@ public class EditTimelinesFragment extends MastodonRecyclerFragment<TimelineDefi
mainHashtag = name;
name = null;
}
if (TextUtils.isEmpty(mainHashtag) && (item != null && item.getType() == TimelineDefinition.TimelineType.HASHTAG)) {
if (TextUtils.isEmpty(mainHashtag)) {
Toast.makeText(ctx, R.string.sk_add_timeline_tag_error_empty, Toast.LENGTH_SHORT).show();
onSave.accept(null);
return;

View File

@@ -17,10 +17,8 @@ import android.widget.TextView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
import org.joinmastodon.android.api.requests.accounts.GetFollowRequests;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.HeaderPaginationList;
import org.joinmastodon.android.model.Instance;
import org.joinmastodon.android.model.Relationship;
import org.joinmastodon.android.ui.OutlineProviders;
import org.joinmastodon.android.ui.text.HtmlParser;
@@ -359,9 +357,8 @@ public class FollowRequestsListFragment extends MastodonRecyclerFragment<FollowR
public AccountWrapper(Account account){
this.account=account;
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(account.avatar) ? AccountSessionManager.get(getAccountID()).getDefaultAvatarUrl() : account.avatar,
V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.avatar))
avaRequest=new UrlImageLoaderRequest(account.avatar, V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.header))
coverRequest=new UrlImageLoaderRequest(account.header, 1000, 1000);
parsedBio=HtmlParser.parse(account.note, account.emojis, Collections.emptyList(), Collections.emptyList(), accountID);

View File

@@ -13,24 +13,25 @@ import org.joinmastodon.android.api.requests.markers.SaveMarkers;
import org.joinmastodon.android.api.requests.timelines.GetHomeTimeline;
import org.joinmastodon.android.api.session.AccountLocalPreferences;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.events.StatusCreatedEvent;
import org.joinmastodon.android.model.CacheablePaginatedResponse;
import org.joinmastodon.android.model.FilterContext;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.TimelineMarkers;
import org.joinmastodon.android.ui.displayitems.GapStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.joinmastodon.android.utils.StatusFilterPredicate;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import me.grishka.appkit.api.Callback;
import me.grishka.appkit.api.ErrorResponse;
import me.grishka.appkit.api.SimpleCallback;
import me.grishka.appkit.utils.V;
public class HomeTimelineFragment extends StatusListFragment {
private HomeTabFragment parent;
@@ -175,23 +176,15 @@ public class HomeTimelineFragment extends StatusListFragment {
}
@Override
public void onGapClick(GapStatusDisplayItem.Holder item, boolean downwards){
public void onGapClick(GapStatusDisplayItem.Holder item){
if(dataLoading)
return;
item.getItem().loading=true;
V.setVisibilityAnimated(item.progress, View.VISIBLE);
V.setVisibilityAnimated(item.text, View.GONE);
GapStatusDisplayItem gap=item.getItem();
gap.loading=true;
dataLoading=true;
String maxID = null;
String minID = null;
if (downwards) {
maxID = item.getItemID();
} else {
int gapPos=displayItems.indexOf(gap);
StatusDisplayItem nextItem=displayItems.get(gapPos + 1);
minID=nextItem.parentID;
}
currentRequest=new GetHomeTimeline(maxID, minID, 20, null, getLocalPrefs().timelineReplyVisibility)
currentRequest=new GetHomeTimeline(item.getItemID(), null, 20, null, getLocalPrefs().timelineReplyVisibility)
.setCallback(new Callback<>(){
@Override
public void onSuccess(List<Status> result){
@@ -211,96 +204,52 @@ public class HomeTimelineFragment extends StatusListFragment {
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(Collections.singletonList(gapStatus), false);
}
}else{
if(downwards) {
Set<String> idsBelowGap=new HashSet<>();
boolean belowGap=false;
int gapPostIndex=0;
for(Status s:data){
if(belowGap){
idsBelowGap.add(s.id);
}else if(s.id.equals(gap.parentID)){
belowGap=true;
s.hasGapAfter=false;
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(Collections.singletonList(s), false);
}else{
gapPostIndex++;
}
}
int endIndex=0;
for(Status s:result){
endIndex++;
if(idsBelowGap.contains(s.id))
break;
}
if(endIndex==result.size()){
result.get(result.size()-1).hasGapAfter=true;
Set<String> idsBelowGap=new HashSet<>();
boolean belowGap=false;
int gapPostIndex=0;
for(Status s:data){
if(belowGap){
idsBelowGap.add(s.id);
}else if(s.id.equals(gap.parentID)){
belowGap=true;
s.hasGapAfter=false;
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(Collections.singletonList(s), false);
}else{
result=result.subList(0, endIndex);
gapPostIndex++;
}
AccountSessionManager.get(accountID).filterStatuses(result, FilterContext.HOME);
List<StatusDisplayItem> targetList=displayItems.subList(gapPos, gapPos+1);
targetList.clear();
List<Status> insertedPosts=data.subList(gapPostIndex+1, gapPostIndex+1);
for(Status s:result){
if(idsBelowGap.contains(s.id))
break;
targetList.addAll(buildDisplayItems(s));
insertedPosts.add(s);
}
if(targetList.isEmpty()){
// oops. We didn't add new posts, but at least we know there are none.
adapter.notifyItemRemoved(getMainAdapterOffset()+gapPos);
}else{
adapter.notifyItemChanged(getMainAdapterOffset()+gapPos);
adapter.notifyItemRangeInserted(getMainAdapterOffset()+gapPos+1, targetList.size()-1);
}
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(insertedPosts, false);
} else {
String aboveGapID = gap.parentID;
int gapPostIndex = 0;
for (;gapPostIndex<data.size();gapPostIndex++){
if (Objects.equals(aboveGapID, data.get(gapPostIndex).id)) {
break;
}
}
// find if there's an overlap between the new data and the current data
int indexOfGapInResponse = 0;
for (;indexOfGapInResponse<result.size();indexOfGapInResponse++){
if (Objects.equals(aboveGapID, result.get(indexOfGapInResponse).id)) {
break;
}
}
// there is an overlap between new and current data
List<StatusDisplayItem> targetList=displayItems.subList(gapPos, gapPos+1);
if(indexOfGapInResponse<result.size()){
result=result.subList(indexOfGapInResponse+1,result.size());
Optional<Status> gapStatus=data.stream()
.filter(s->Objects.equals(s.id, gap.parentID))
.findFirst();
if (gapStatus.isPresent()) {
gapStatus.get().hasGapAfter=false;
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(Collections.singletonList(gapStatus.get()), false);
}
targetList.clear();
} else {
gap.loading=false;
}
List<Status> insertedPosts=data.subList(gapPostIndex+1, gapPostIndex+1);
for(Status s:result){
targetList.addAll(buildDisplayItems(s));
insertedPosts.add(s);
}
AccountSessionManager.get(accountID).filterStatuses(insertedPosts, FilterContext.HOME);
if(targetList.isEmpty()){
// oops. We didn't add new posts, but at least we know there are none.
adapter.notifyItemRemoved(getMainAdapterOffset()+gapPos);
}else{
adapter.notifyItemChanged(getMainAdapterOffset()+gapPos);
adapter.notifyItemRangeInserted(getMainAdapterOffset()+gapPos+1, targetList.size()-1);
}
list.scrollToPosition(getMainAdapterOffset()+gapPos+targetList.size());
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(insertedPosts, false);
}
int endIndex=0;
for(Status s:result){
endIndex++;
if(idsBelowGap.contains(s.id))
break;
}
if(endIndex==result.size()){
result.get(result.size()-1).hasGapAfter=true;
}else{
result=result.subList(0, endIndex);
}
List<StatusDisplayItem> targetList=displayItems.subList(gapPos, gapPos+1);
targetList.clear();
List<Status> insertedPosts=data.subList(gapPostIndex+1, gapPostIndex+1);
StatusFilterPredicate filterPredicate=new StatusFilterPredicate(accountID, getFilterContext());
for(Status s:result){
if(idsBelowGap.contains(s.id))
break;
if(typeFilterPredicate(s) && filterPredicate.test(s)){
targetList.addAll(buildDisplayItems(s));
insertedPosts.add(s);
}
}
AccountSessionManager.get(accountID).filterStatuses(insertedPosts, getFilterContext());
if(targetList.isEmpty()){
// oops. We didn't add new posts, but at least we know there are none.
adapter.notifyItemRemoved(getMainAdapterOffset()+gapPos);
}else{
adapter.notifyItemChanged(getMainAdapterOffset()+gapPos);
adapter.notifyItemRangeInserted(getMainAdapterOffset()+gapPos+1, targetList.size()-1);
}
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(insertedPosts, false);
}
}

View File

@@ -96,7 +96,7 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
if (n.type == Notification.Type.FOLLOW_REQUEST) {
ArrayList<StatusDisplayItem> items = new ArrayList<>();
items.add(titleItem);
items.add(new AccountCardStatusDisplayItem(n.id, this, accountID, n.account, n));
items.add(new AccountCardStatusDisplayItem(n.id, this, n.account, n));
return items;
}
if(n.status!=null){

View File

@@ -377,7 +377,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
}
});
content.findViewById(R.id.username_wrap).setOnLongClickListener(v->{
username.setOnLongClickListener(v->{
String usernameString=account.acct;
if(!usernameString.contains("@")){
usernameString+="@"+domain;
@@ -601,10 +601,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
private void bindHeaderView(){
setTitle(account.displayName);
setSubtitle(getResources().getQuantityString(R.plurals.x_posts, (int)(account.statusesCount%1000), account.statusesCount));
ViewImageLoader.load(avatar, null, new UrlImageLoaderRequest(
TextUtils.isEmpty(account.avatar) ? getSession().getDefaultAvatarUrl() :
GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic,
V.dp(100), V.dp(100)));
ViewImageLoader.load(avatar, null, new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic, V.dp(100), V.dp(100)));
ViewImageLoader.load(cover, null, new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? account.header : account.headerStatic, 1000, 1000));
SpannableStringBuilder ssb=new SpannableStringBuilder(account.displayName);
if(AccountSessionManager.get(accountID).getLocalPreferences().customEmojiInNames)
@@ -1232,7 +1229,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
if(ava==null)
return;
int radius=V.dp(25);
currentPhotoViewer=new PhotoViewer(getActivity(), createFakeAttachments(TextUtils.isEmpty(account.avatar) ? getSession().getDefaultAvatarUrl() : account.avatar, ava), 0,
currentPhotoViewer=new PhotoViewer(getActivity(), createFakeAttachments(account.avatar, ava), 0,
new SingleImagePhotoViewerListener(avatar, avatarBorder, new int[]{radius, radius, radius, radius}, this, ()->currentPhotoViewer=null, ()->ava, null, null));
}
}

View File

@@ -2,11 +2,8 @@ package org.joinmastodon.android.fragments;
import android.app.Activity;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.widget.ImageButton;
import com.squareup.otto.Subscribe;
@@ -29,7 +26,6 @@ import java.util.List;
import me.grishka.appkit.Nav;
import me.grishka.appkit.api.SimpleCallback;
import me.grishka.appkit.utils.V;
public class ScheduledStatusListFragment extends BaseStatusListFragment<ScheduledStatus> {
private String nextMaxID;
@@ -190,21 +186,6 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment<Schedule
return null;
}
@Override
public void onApplyWindowInsets(WindowInsets insets){
if(contentView!=null){
if(Build.VERSION.SDK_INT>=29 && insets.getTappableElementInsets().bottom==0){
int insetBottom=insets.getSystemWindowInsetBottom();
((ViewGroup.MarginLayoutParams) list.getLayoutParams()).bottomMargin=insetBottom;
((ViewGroup.MarginLayoutParams) fab.getLayoutParams()).bottomMargin=V.dp(16)+insetBottom;
insets=insets.inset(0, 0, 0, insetBottom);
}else{
((ViewGroup.MarginLayoutParams) fab.getLayoutParams()).bottomMargin=V.dp(16);
}
}
super.onApplyWindowInsets(insets);
}
@Override
public Uri getWebUri(Uri.Builder base) {
// TODO: adapt when frontends finally implement a scheduled posts list

View File

@@ -9,7 +9,6 @@ import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.statuses.GetStatusEditHistory;
import org.joinmastodon.android.model.FilterContext;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.displayitems.DummyStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.ReblogOrReplyLineStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.joinmastodon.android.ui.utils.InsetStatusItemDecoration;
@@ -144,8 +143,7 @@ public class StatusEditHistoryFragment extends StatusListFragment{
}
}
String sep = getString(R.string.sk_separator);
items.add(0, new ReblogOrReplyLineStatusDisplayItem(s.id, this, action+" "+sep+" "+date, Collections.emptyList(), 0, null, null, s));
items.add(1, new DummyStatusDisplayItem(s.id, this));
items.add(0, new ReblogOrReplyLineStatusDisplayItem(s.id, this, action+" "+sep+" "+date, Collections.emptyList(), 0, null, null));
}
return items;
}

View File

@@ -16,7 +16,6 @@ import android.widget.TextView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
import org.joinmastodon.android.api.requests.accounts.GetFollowSuggestions;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.fragments.IsOnTop;
import org.joinmastodon.android.fragments.MastodonRecyclerFragment;
import org.joinmastodon.android.fragments.ProfileFragment;
@@ -320,9 +319,8 @@ public class DiscoverAccountsFragment extends MastodonRecyclerFragment<DiscoverA
public AccountWrapper(Account account){
this.account=account;
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(account.avatar) ? AccountSessionManager.getInstance().getAccount(accountID).getDefaultAvatarUrl() : account.avatar,
V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.avatar))
avaRequest=new UrlImageLoaderRequest(account.avatar, V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.header))
coverRequest=new UrlImageLoaderRequest(account.header, 1000, 1000);
parsedBio=HtmlParser.parse(account.note, account.emojis, Collections.emptyList(), Collections.emptyList(), accountID);

View File

@@ -10,6 +10,7 @@ import android.graphics.Outline;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
@@ -25,7 +26,7 @@ import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.MainActivity;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.search.GetSearchResults;
import org.joinmastodon.android.api.session.AccountSessionManager;
@@ -37,16 +38,19 @@ import org.joinmastodon.android.model.SearchResults;
import org.joinmastodon.android.model.viewmodel.ListItem;
import org.joinmastodon.android.model.viewmodel.SearchResultViewModel;
import org.joinmastodon.android.ui.DividerItemDecoration;
import org.joinmastodon.android.ui.M3AlertDialogBuilder;
import org.joinmastodon.android.ui.SearchViewHelper;
import org.joinmastodon.android.ui.adapters.GenericListItemsAdapter;
import org.joinmastodon.android.ui.utils.HideableSingleViewRecyclerAdapter;
import org.joinmastodon.android.ui.utils.UiUtils;
import org.joinmastodon.android.ui.viewholders.AccountViewHolder;
import org.joinmastodon.android.ui.viewholders.SimpleListItemViewHolder;
import org.parceler.Parcels;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -377,54 +381,16 @@ public class SearchQueryFragment extends MastodonRecyclerFragment<SearchResultVi
}
private void openHashtag(SearchResult res){
wrapSuicideDialog(()->{
UiUtils.openHashtagTimeline(getActivity(), accountID, res.hashtag.name, res.hashtag.following);
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putRecentSearch(res);
});
UiUtils.openHashtagTimeline(getActivity(), accountID, res.hashtag.name, res.hashtag.following);
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putRecentSearch(res);
}
private boolean isInRecentMode(){
return TextUtils.isEmpty(currentQuery);
}
private void wrapSuicideDialog(Runnable r){
if(!GlobalUserPreferences.showSuicideHelp || currentQuery==null){
r.run();
return;
}
String[] terms=getContext().getString(R.string.sk_suicide_search_terms).toLowerCase().split(",");
String query=currentQuery.trim().toLowerCase();
boolean termMatches=false;
for(String term : terms){
if(query.contains(term)){
termMatches=true;
break;
}
}
if(!termMatches){
r.run();
return;
}
String url=getContext().getString(R.string.sk_suicide_helplines_url);
new M3AlertDialogBuilder(getActivity())
.setTitle(R.string.sk_search_suicide_title)
.setMessage(R.string.sk_search_suicide_message)
.setNegativeButton(R.string.sk_do_not_show_again, (dialog, which)->{
GlobalUserPreferences.showSuicideHelp = false;
GlobalUserPreferences.save();
r.run();
})
.setNeutralButton(R.string.sk_search_suicide_hotlines, (dialog, which)->UiUtils.launchWebBrowser(getContext(), url))
.setPositiveButton(R.string.ok, (dialog, which)->r.run())
.setOnDismissListener((dialog)->{})
.show();
}
private void onSearchViewEnter(){
wrapSuicideDialog(()->deliverResult(currentQuery, null));
deliverResult(currentQuery, null);
}
private void onOpenURLClick(){
@@ -432,12 +398,10 @@ public class SearchQueryFragment extends MastodonRecyclerFragment<SearchResultVi
}
private void onGoToHashtagClick(){
wrapSuicideDialog(()->{
String q=searchViewHelper.getQuery();
if(q.startsWith("#"))
q=q.substring(1);
UiUtils.openHashtagTimeline(getActivity(), accountID, q, null);
});
String q=searchViewHelper.getQuery();
if(q.startsWith("#"))
q=q.substring(1);
UiUtils.openHashtagTimeline(getActivity(), accountID, q, null);
}
private void onGoToAccountClick(){
@@ -458,11 +422,11 @@ public class SearchQueryFragment extends MastodonRecyclerFragment<SearchResultVi
}
private void onGoToStatusSearchClick(){
wrapSuicideDialog(()->deliverResult(searchViewHelper.getQuery(), SearchResult.Type.STATUS));
deliverResult(searchViewHelper.getQuery(), SearchResult.Type.STATUS);
}
private void onGoToAccountSearchClick(){
wrapSuicideDialog(()->deliverResult(searchViewHelper.getQuery(), SearchResult.Type.ACCOUNT));
deliverResult(searchViewHelper.getQuery(), SearchResult.Type.ACCOUNT);
}
private void onClearRecentClick(){

View File

@@ -83,7 +83,7 @@ public class ReportReasonChoiceFragment extends StatusListFragment{
reportStatus=Parcels.unwrap(getArguments().getParcelable("status"));
if(reportStatus!=null){
Status hiddenStatus=reportStatus.clone();
if(hiddenStatus.spoilerText==null) hiddenStatus.spoilerText=getString(R.string.post_hidden);
hiddenStatus.spoilerText=getString(R.string.post_hidden);
onDataLoaded(Collections.singletonList(hiddenStatus));
setTitle(R.string.report_title_post);
}else{
@@ -168,6 +168,17 @@ public class ReportReasonChoiceFragment extends StatusListFragment{
((UsableRecyclerView)list).setIncludeMarginsInItemHitbox(false);
if(reportStatus!=null){
list.addItemDecoration(new RecyclerView.ItemDecoration(){
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state){
RecyclerView.ViewHolder holder=parent.getChildViewHolder(view);
if(holder instanceof LinkCardStatusDisplayItem.Holder || holder instanceof MediaGridStatusDisplayItem.Holder){
outRect.left=V.dp(16);
outRect.right=V.dp(16);
}
}
});
list.addItemDecoration(new RecyclerView.ItemDecoration(){
private Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG);
{
@@ -211,6 +222,10 @@ public class ReportReasonChoiceFragment extends StatusListFragment{
if(holder instanceof StatusDisplayItem.Holder<?>){
outRect.left=outRect.right=V.dp(16);
}
int index=holder.getAbsoluteAdapterPosition()-mergeAdapter.getPositionForAdapter(adapter);
if(index==displayItems.size()){
outRect.top=V.dp(32);
}
}
});
}
@@ -236,6 +251,18 @@ public class ReportReasonChoiceFragment extends StatusListFragment{
return null;
}
@Override
protected void onModifyItemViewHolder(BindableViewHolder<StatusDisplayItem> holder){
if((Object)holder instanceof MediaGridStatusDisplayItem.Holder h){
View layout=h.getLayout();
layout.setOutlineProvider(OutlineProviders.roundedRect(8));
layout.setClipToOutline(true);
View overlay=h.getSensitiveOverlay();
overlay.setOutlineProvider(OutlineProviders.roundedRect(8));
overlay.setClipToOutline(true);
}
}
@Override
public void putRelationship(String id, Relationship rel){
super.putRelationship(id, rel);

View File

@@ -20,7 +20,6 @@ import org.joinmastodon.android.utils.MastodonLanguage;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class SettingsBehaviorFragment extends BaseSettingsFragment<Void> implements HasAccountID{
private ListItem<Void> languageItem;

View File

@@ -7,17 +7,12 @@ import androidx.annotation.Nullable;
import org.joinmastodon.android.api.ObjectValidationException;
import org.joinmastodon.android.api.RequiredField;
import org.joinmastodon.android.api.requests.instance.GetInstance;
import org.parceler.Parcel;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collections;
import java.util.List;
import me.grishka.appkit.api.Callback;
import me.grishka.appkit.api.ErrorResponse;
/**
* Represents a user of Mastodon and their associated profile.
*/
@@ -28,22 +23,22 @@ public class Account extends BaseModel implements Searchable{
/**
* The account id
*/
// @RequiredField
@RequiredField
public String id;
/**
* The username of the account, not including domain.
*/
// @RequiredField
@RequiredField
public String username;
/**
* The Webfinger account URI. Equal to username for local users, or username@domain for remote users.
*/
// @RequiredField
@RequiredField
public String acct;
/**
* The location of the user's profile page.
*/
// @RequiredField
@RequiredField
public String url;
// Display attributes
@@ -56,12 +51,12 @@ public class Account extends BaseModel implements Searchable{
/**
* The profile's bio / description.
*/
// @RequiredField
@RequiredField
public String note;
/**
* An image icon that is shown next to statuses and in the profile.
*/
// @RequiredField
@RequiredField
public String avatar;
/**
* A static version of the avatar. Equal to avatar if its value is a static image; different if avatar is an animated GIF.
@@ -162,26 +157,16 @@ public class Account extends BaseModel implements Searchable{
if(fields!=null){
for(AccountField f:fields)
f.postprocess();
} else {
fields = Collections.emptyList();
}
if(emojis!=null){
for(Emoji e:emojis)
e.postprocess();
} else {
emojis = Collections.emptyList();
}
if(moved!=null)
moved.postprocess();
if(fqn == null) fqn = getFullyQualifiedName();
if(id == null) id = "";
if(username == null) username = "";
if(TextUtils.isEmpty(displayName))
displayName = !TextUtils.isEmpty(username) ? username : "";
if(acct == null) acct = "";
if(url == null) url = "";
if(note == null) note = "";
if(avatar == null) avatar = "";
displayName=username;
if(fqn == null) fqn = getFullyQualifiedName();
}
public boolean isLocal(){
@@ -206,8 +191,6 @@ public class Account extends BaseModel implements Searchable{
}
public String getFullyQualifiedName() {
if (TextUtils.isEmpty(acct))
return "";
return fqn != null ? fqn : acct.split("@")[0] + "@" + getDomainFromURL();
}

View File

@@ -1,10 +1,8 @@
package org.joinmastodon.android.model.viewmodel;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.AccountField;
@@ -26,13 +24,9 @@ public class AccountViewModel{
public AccountViewModel(Account account, String accountID){
this.account=account;
AccountSession session = AccountSessionManager.get(accountID);
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(account.avatar) ? session.getDefaultAvatarUrl() :
GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic,
V.dp(50), V.dp(50));
avaRequest=new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic, V.dp(50), V.dp(50));
emojiHelper=new CustomEmojiHelper();
if(session.getLocalPreferences().customEmojiInNames)
if(AccountSessionManager.get(accountID).getLocalPreferences().customEmojiInNames)
parsedName=HtmlParser.parseCustomEmoji(account.displayName, account.emojis);
else
parsedName=account.displayName;

View File

@@ -15,7 +15,6 @@ import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Notification;
@@ -42,13 +41,12 @@ public class AccountCardStatusDisplayItem extends StatusDisplayItem{
public CustomEmojiHelper emojiHelper=new CustomEmojiHelper();
public CharSequence parsedName, parsedBio;
public AccountCardStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, String accountID, Account account, Notification notification){
public AccountCardStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, Account account, Notification notification){
super(parentID, parentFragment);
this.account=account;
this.notification=notification;
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(account.avatar) ? AccountSessionManager.get(accountID).getDefaultAvatarUrl() : account.avatar,
V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.avatar))
avaRequest=new UrlImageLoaderRequest(account.avatar, V.dp(50), V.dp(50));
if(!TextUtils.isEmpty(account.header))
coverRequest=new UrlImageLoaderRequest(account.header, 1000, 1000);
parsedBio=HtmlParser.parse(account.note, account.emojis, Collections.emptyList(), Collections.emptyList(), parentFragment.getAccountID());

View File

@@ -1,8 +1,5 @@
package org.joinmastodon.android.ui.displayitems;
import static org.joinmastodon.android.ui.utils.UiUtils.opacityIn;
import static org.joinmastodon.android.ui.utils.UiUtils.opacityOut;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
@@ -15,6 +12,8 @@ import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;
@@ -57,6 +56,7 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
public static class Holder extends StatusDisplayItem.Holder<FooterStatusDisplayItem>{
private final TextView replies, boosts, favorites;
private final View reply, boost, favorite, share, bookmark;
private static final Animation opacityOut, opacityIn;
private View touchingView = null;
private boolean longClickPerformed = false;
@@ -77,6 +77,18 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
}
};
private static final float ALPHA_PRESSED=0.55f;
static {
opacityOut = new AlphaAnimation(1, ALPHA_PRESSED);
opacityOut.setDuration(300);
opacityOut.setInterpolator(CubicBezierInterpolator.DEFAULT);
opacityOut.setFillAfter(true);
opacityIn = new AlphaAnimation(ALPHA_PRESSED, 1);
opacityIn.setDuration(400);
opacityIn.setInterpolator(CubicBezierInterpolator.DEFAULT);
}
public Holder(Activity activity, ViewGroup parent){
super(activity, R.layout.display_item_footer, parent);

View File

@@ -8,21 +8,14 @@ import android.widget.TextView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.drawables.SawtoothTearDrawable;
import org.joinmastodon.android.ui.utils.UiUtils;
import java.time.Instant;
import me.grishka.appkit.utils.V;
// Mind the gap!
public class GapStatusDisplayItem extends StatusDisplayItem{
public boolean loading;
private Status status;
public GapStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, Status status){
public GapStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment){
super(parentID, parentFragment);
this.status=status;
}
@Override
@@ -31,53 +24,25 @@ public class GapStatusDisplayItem extends StatusDisplayItem{
}
public static class Holder extends StatusDisplayItem.Holder<GapStatusDisplayItem>{
public final ProgressBar progressTop, progressBottom;
public final TextView textTop, gap, textBottom;
public final View top, bottom;
public final ProgressBar progress;
public final TextView text;
public Holder(Context context, ViewGroup parent){
super(context, R.layout.display_item_gap, parent);
progressTop=findViewById(R.id.progress_top);
progressBottom=findViewById(R.id.progress_bottom);
textTop=findViewById(R.id.text_top);
textBottom=findViewById(R.id.text_bottom);
top=findViewById(R.id.top);
top.setOnClickListener(this::onViewClick);
bottom=findViewById(R.id.bottom);
bottom.setOnClickListener(this::onViewClick);
gap=findViewById(R.id.gap);
gap.setForeground(new SawtoothTearDrawable(context));
progress=findViewById(R.id.progress);
text=findViewById(R.id.text);
itemView.setForeground(new SawtoothTearDrawable(context));
}
@Override
public void onBind(GapStatusDisplayItem item){
if(!item.loading){
progressBottom.setVisibility(View.GONE);
progressTop.setVisibility(View.GONE);
}
top.setClickable(!item.loading);
bottom.setClickable(!item.loading);
StatusDisplayItem next=getNextVisibleDisplayItem().orElse(null);
Instant dateBelow=next instanceof HeaderStatusDisplayItem h ? h.status.createdAt
: next instanceof ReblogOrReplyLineStatusDisplayItem l ? l.status.createdAt
: null;
String text=dateBelow!=null && item.status.createdAt!=null && dateBelow.isBefore(item.status.createdAt)
? UiUtils.formatPeriodBetween(item.parentFragment.getContext(), dateBelow, item.status.createdAt)
: null;
gap.setText(text);
int p=text==null ? V.dp(6) : V.dp(20);
gap.setPadding(p, p, p, p);
}
private void onViewClick(View v){
if(item.loading) return;
boolean isTop=v==top;
(isTop ? textTop : textBottom).startAnimation(UiUtils.opacityOut);
V.setVisibilityAnimated((isTop ? progressTop : progressBottom), View.VISIBLE);
item.parentFragment.onGapClick(this, isTop);
text.setVisibility(item.loading ? View.GONE : View.VISIBLE);
progress.setVisibility(item.loading ? View.VISIBLE : View.GONE);
}
@Override
public void onClick(){}
public void onClick(){
item.parentFragment.onGapClick(this);
}
}
}

View File

@@ -86,14 +86,10 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
public HeaderStatusDisplayItem(String parentID, Account user, Instant createdAt, BaseStatusListFragment parentFragment, String accountID, Status status, CharSequence extraText, Notification notification, ScheduledStatus scheduledStatus){
super(parentID, parentFragment);
AccountSession session = AccountSessionManager.get(accountID);
user=scheduledStatus != null ? session.self : user;
user=scheduledStatus != null ? AccountSessionManager.getInstance().getAccount(accountID).self : user;
this.user=user;
this.createdAt=createdAt;
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(user.avatar) ? session.getDefaultAvatarUrl() :
GlobalUserPreferences.playGifs ? user.avatar : user.avatarStatic,
V.dp(50), V.dp(50));
avaRequest=new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? user.avatar : user.avatarStatic, V.dp(50), V.dp(50));
this.accountID=accountID;
parsedName=new SpannableStringBuilder(user.displayName);
this.status=status;
@@ -434,8 +430,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
}
private void onAvaClick(View v){
if (TextUtils.isEmpty(item.user.url))
return;
if (item.announcement != null) {
UiUtils.openURL(item.parentFragment.getActivity(), item.parentFragment.getAccountID(), item.user.url);
return;

View File

@@ -20,8 +20,6 @@ import android.widget.TextView;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.fragments.ProfileFragment;
import org.joinmastodon.android.model.Emoji;
@@ -55,11 +53,7 @@ public class NotificationHeaderStatusDisplayItem extends StatusDisplayItem{
if(notification.type==Notification.Type.POLL){
text=parentFragment.getString(R.string.poll_ended);
}else{
AccountSession session = AccountSessionManager.get(accountID);
avaRequest=new UrlImageLoaderRequest(
TextUtils.isEmpty(notification.account.avatar) ? session.getDefaultAvatarUrl() :
GlobalUserPreferences.playGifs ? notification.account.avatar : notification.account.avatarStatic,
V.dp(50), V.dp(50));
avaRequest=new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? notification.account.avatar : notification.account.avatarStatic, V.dp(50), V.dp(50));
SpannableStringBuilder parsedName=new SpannableStringBuilder(notification.account.displayName);
HtmlParser.parseCustomEmoji(parsedName, notification.account.emojis);
String str = parentFragment.getString(switch(notification.type){

View File

@@ -17,7 +17,6 @@ import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Emoji;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.StatusPrivacy;
import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.ui.utils.CustomEmojiHelper;
@@ -44,20 +43,18 @@ public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{
public boolean needBottomPadding;
ReblogOrReplyLineStatusDisplayItem extra;
CharSequence fullText;
Status status;
public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick, Status status) {
this(parentID, parentFragment, text, emojis, icon, visibility, handleClick, text, status);
public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick) {
this(parentID, parentFragment, text, emojis, icon, visibility, handleClick, text);
}
public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick, CharSequence fullText, Status status) {
public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick, CharSequence fullText) {
super(parentID, parentFragment);
SpannableStringBuilder ssb=new SpannableStringBuilder(text);
HtmlParser.parseCustomEmoji(ssb, emojis);
this.text=ssb;
emojiHelper.setText(ssb);
this.icon=icon;
this.status=status;
this.handleClick=handleClick;
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.selectableItemBackground, outValue, true);

View File

@@ -6,9 +6,9 @@ import android.graphics.drawable.LayerDrawable;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Status;
@@ -29,13 +29,11 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
private final CharSequence parsedTitle;
private final CustomEmojiHelper emojiHelper;
private final Type type;
private final int attachmentCount;
public SpoilerStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, String title, Status statusForContent, Type type){
super(parentID, parentFragment);
this.status=statusForContent;
this.type=type;
this.attachmentCount=statusForContent.mediaAttachments.size();
if(TextUtils.isEmpty(title)){
parsedTitle=HtmlParser.parseCustomEmoji(statusForContent.spoilerText, statusForContent.emojis);
emojiHelper=new CustomEmojiHelper();
@@ -64,14 +62,12 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
public static class Holder extends StatusDisplayItem.Holder<SpoilerStatusDisplayItem> implements ImageLoaderViewHolder{
private final TextView title, action;
private final View button;
private final ImageView mediaIcon;
public Holder(Context context, ViewGroup parent, Type type){
super(context, R.layout.display_item_spoiler, parent);
title=findViewById(R.id.spoiler_title);
action=findViewById(R.id.spoiler_action);
button=findViewById(R.id.spoiler_button);
mediaIcon=findViewById(R.id.media_icon);
button.setOutlineProvider(OutlineProviders.roundedRect(8));
button.setClipToOutline(true);
@@ -98,10 +94,6 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
itemView.getPaddingRight(),
item.inset ? itemView.getPaddingTop() : 0
);
mediaIcon.setVisibility(item.attachmentCount > 0 ? View.VISIBLE : View.GONE);
mediaIcon.setImageResource(item.attachmentCount > 1
? R.drawable.ic_fluent_image_multiple_24_regular
: R.drawable.ic_fluent_image_24_regular);
}
@Override

View File

@@ -135,7 +135,7 @@ public abstract class StatusDisplayItem{
: fragment.getString(R.string.in_reply_to, account.displayName);
return new ReblogOrReplyLineStatusDisplayItem(
parentID, fragment, text, account == null ? List.of() : account.emojis,
R.drawable.ic_fluent_arrow_reply_20sp_filled, null, null, fullText, status
R.drawable.ic_fluent_arrow_reply_20sp_filled, null, null, fullText
);
}
@@ -167,7 +167,7 @@ public abstract class StatusDisplayItem{
items.add(new ReblogOrReplyLineStatusDisplayItem(parentID, fragment, text, status.account.emojis, R.drawable.ic_fluent_arrow_repeat_all_20sp_filled, isOwnPost ? status.visibility : null, i->{
args.putParcelable("profileAccount", Parcels.wrap(status.account));
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
}, fullText, status));
}, fullText));
} else if (!(status.tags.isEmpty() ||
fragment instanceof HashtagTimelineFragment ||
fragment instanceof ListTimelineFragment
@@ -183,7 +183,7 @@ public abstract class StatusDisplayItem{
i -> {
args.putString("hashtag", hashtag.name);
Nav.go(fragment.getActivity(), HashtagTimelineFragment.class, args);
}, status
}
)));
}
@@ -294,7 +294,7 @@ public abstract class StatusDisplayItem{
footer.hideCounts=hideCounts;
items.add(footer);
if(status.hasGapAfter && !(fragment instanceof ThreadFragment))
items.add(new GapStatusDisplayItem(parentID, fragment, status));
items.add(new GapStatusDisplayItem(parentID, fragment));
}
int i=1;
boolean inset=(flags & FLAG_INSET)!=0;

View File

@@ -23,9 +23,9 @@ import me.grishka.appkit.utils.V;
public class SawtoothTearDrawable extends Drawable{
private final Paint topPaint, bottomPaint;
private static final int TOP_SAWTOOTH_HEIGHT=4;
private static final int BOTTOM_SAWTOOTH_HEIGHT=4;
private static final int STROKE_WIDTH=1;
private static final int TOP_SAWTOOTH_HEIGHT=5;
private static final int BOTTOM_SAWTOOTH_HEIGHT=3;
private static final int STROKE_WIDTH=2;
private static final int SAWTOOTH_PERIOD=14;
public SawtoothTearDrawable(Context context){

View File

@@ -1715,9 +1715,7 @@ public class TabLayout extends HorizontalScrollView implements CustomViewHelper{
child.getLayoutParams().height);
int childWidthMeasureSpec =
MeasureSpec.makeMeasureSpec(
getMeasuredWidth() - getPaddingLeft() - getPaddingRight(),
MeasureSpec.EXACTLY);
MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY);
child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
}
}

View File

@@ -10,7 +10,6 @@ import android.widget.TextView;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.model.TimelineDefinition;
import java.util.EnumSet;
@@ -45,7 +44,7 @@ public class DiscoverInfoBannerHelper{
banner=((Activity)list.getContext()).getLayoutInflater().inflate(R.layout.discover_info_banner, list, false);
TextView text=banner.findViewById(R.id.banner_text);
text.setText(switch(type){
case TRENDING_POSTS -> list.getResources().getString(R.string.sk_trending_posts_info_banner);
case TRENDING_POSTS -> list.getResources().getString(R.string.trending_posts_info_banner);
case TRENDING_LINKS -> list.getResources().getString(R.string.trending_links_info_banner);
case FEDERATED_TIMELINE -> list.getResources().getString(R.string.sk_federated_timeline_info_banner);
case POST_NOTIFICATIONS -> list.getResources().getString(R.string.sk_notify_posts_info_banner);
@@ -58,10 +57,8 @@ public class DiscoverInfoBannerHelper{
case TRENDING_POSTS -> R.drawable.ic_fluent_arrow_trending_24_regular;
case TRENDING_LINKS -> R.drawable.ic_fluent_news_24_regular;
case ACCOUNTS -> R.drawable.ic_fluent_people_add_24_regular;
case LOCAL_TIMELINE -> TimelineDefinition.LOCAL_TIMELINE.getDefaultIcon().iconRes;
case FEDERATED_TIMELINE -> TimelineDefinition.FEDERATED_TIMELINE.getDefaultIcon().iconRes;
case BUBBLE_TIMELINE -> TimelineDefinition.BUBBLE_TIMELINE.getDefaultIcon().iconRes;
case POST_NOTIFICATIONS -> TimelineDefinition.POSTS_TIMELINE.getDefaultIcon().iconRes;
// no icon because those are displayed as timelines - with icon in top left
case LOCAL_TIMELINE, FEDERATED_TIMELINE, BUBBLE_TIMELINE, POST_NOTIFICATIONS -> 0;
});
adapter.addAdapter(new SingleViewRecyclerAdapter(banner));
}

View File

@@ -54,8 +54,6 @@ import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.webkit.MimeTypeMap;
import android.widget.Button;
import android.widget.ImageView;
@@ -98,6 +96,7 @@ import org.joinmastodon.android.fragments.ComposeFragment;
import org.joinmastodon.android.fragments.HashtagTimelineFragment;
import org.joinmastodon.android.fragments.ProfileFragment;
import org.joinmastodon.android.fragments.ThreadFragment;
import org.joinmastodon.android.fragments.settings.SettingsServerAboutFragment;
import org.joinmastodon.android.fragments.settings.SettingsServerFragment;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.AccountField;
@@ -174,19 +173,6 @@ public class UiUtils {
private static final DateTimeFormatter TIME_FORMATTER=DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);
public static int MAX_WIDTH, SCROLL_TO_TOP_DELTA;
public static final float ALPHA_PRESSED=0.55f;
public static final Animation opacityOut, opacityIn;
static {
opacityOut = new AlphaAnimation(1, ALPHA_PRESSED);
opacityOut.setDuration(300);
opacityOut.setInterpolator(CubicBezierInterpolator.DEFAULT);
opacityOut.setFillAfter(true);
opacityIn = new AlphaAnimation(ALPHA_PRESSED, 1);
opacityIn.setDuration(400);
opacityIn.setInterpolator(CubicBezierInterpolator.DEFAULT);
}
private UiUtils() {
}
@@ -206,33 +192,28 @@ public class UiUtils {
}
public static String formatRelativeTimestamp(Context context, Instant instant) {
return formatPeriodBetween(context, instant, null);
}
public static String formatPeriodBetween(Context context, Instant since, Instant until) {
boolean ago = until == null;
long t = since.toEpochMilli();
long now = ago ? System.currentTimeMillis() : until.toEpochMilli();
long t = instant.toEpochMilli();
long now = System.currentTimeMillis();
long diff = now - t;
if(diff<1000L){
return context.getString(R.string.time_now);
}else if(diff<60_000L){
return context.getString(ago ? R.string.time_seconds_ago_short : R.string.sk_time_seconds, diff/1000L);
return context.getString(R.string.time_seconds_ago_short, diff/1000L);
}else if(diff<3600_000L){
return context.getString(ago ? R.string.time_minutes_ago_short : R.string.sk_time_minutes, diff/60_000L);
return context.getString(R.string.time_minutes_ago_short, diff/60_000L);
}else if(diff<3600_000L*24L){
return context.getString(ago ? R.string.time_hours_ago_short : R.string.sk_time_hours, diff/3600_000L);
return context.getString(R.string.time_hours_ago_short, diff/3600_000L);
} else {
int days = (int) (diff / (3600_000L * 24L));
if (ago && days > 30) {
ZonedDateTime dt = since.atZone(ZoneId.systemDefault());
if (days > 30) {
ZonedDateTime dt = instant.atZone(ZoneId.systemDefault());
if (dt.getYear() == ZonedDateTime.now().getYear()) {
return DATE_FORMATTER_SHORT.format(dt);
} else {
return DATE_FORMATTER_SHORT_WITH_YEAR.format(dt);
}
}
return context.getString(ago ? R.string.time_days_ago_short : R.string.sk_time_days, days);
return context.getString(R.string.time_days_ago_short, days);
}
}

View File

@@ -607,7 +607,7 @@ public class ComposeMediaViewController{
public void saveAltTextsBeforePublishing(Runnable onSuccess, Consumer<ErrorResponse> onError){
ArrayList<UpdateAttachment> updateAltTextRequests=new ArrayList<>();
for(DraftMediaAttachment att:attachments){
if(!att.descriptionSaved && (fragment.editingStatus==null || !fragment.editingStatus.mediaAttachments.contains(att.serverAttachment))){
if(!att.descriptionSaved && att.serverAttachment.description == null){
UpdateAttachment req=new UpdateAttachment(att.serverAttachment.id, att.description);
req.setCallback(new Callback<>(){
@Override

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="?colorM3SecondaryContainer"/>
<color android:color="?colorM3SurfaceVariant"/>
</item>
<item android:drawable="?android:selectableItemBackground"/>
</layer-list>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="-1dp" android:right="-1dp">
<shape android:shape="rectangle">
<solid android:color="?colorM3Surface" />
<stroke android:color="?colorM3OutlineVariant" android:width="1dp" />
</shape>
</item>
</layer-list>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M13.72 5.78c0.293 0.293 0.767 0.293 1.06 0 0.293-0.293 0.293-0.767 0-1.06l-2.5-2.5c-0.293-0.293-0.767-0.293-1.06 0l-2.5 2.5c-0.293 0.293-0.293 0.767 0 1.06 0.293 0.293 0.767 0.293 1.06 0L11 4.56v4.19c0 0.414 0.336 0.75 0.75 0.75s0.75-0.336 0.75-0.75V4.56l1.22 1.22zM4 11.75C4 11.336 4.336 11 4.75 11h14.5c0.414 0 0.75 0.336 0.75 0.75s-0.336 0.75-0.75 0.75H4.75C4.336 12.5 4 12.164 4 11.75zm8.5 3c0-0.414-0.336-0.75-0.75-0.75S11 14.336 11 14.75v4.69l-1.22-1.22c-0.293-0.293-0.767-0.293-1.06 0-0.293 0.293-0.293 0.767 0 1.06l2.5 2.5c0.293 0.293 0.767 0.293 1.06 0l2.5-2.5c0.293-0.293 0.293-0.767 0-1.06-0.293-0.293-0.767-0.293-1.06 0l-1.22 1.22v-4.69z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
<path android:pathData="M15.794 8.733c0.286 0.3 0.274 0.774-0.026 1.06l-5.25 5.001c-0.29 0.276-0.745 0.276-1.035 0l-5.25-5c-0.3-0.287-0.312-0.761-0.026-1.061 0.286-0.3 0.76-0.312 1.06-0.026l4.734 4.508 4.733-4.508c0.3-0.286 0.774-0.274 1.06 0.026zm0-4c0.286 0.3 0.274 0.774-0.026 1.06l-5.25 5.001c-0.29 0.276-0.745 0.276-1.035 0l-5.25-5c-0.3-0.287-0.312-0.761-0.026-1.061 0.286-0.3 0.76-0.312 1.06-0.026l4.734 4.509 4.733-4.51c0.3-0.285 0.774-0.273 1.06 0.027z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
<path android:pathData="M4.207 15.267c-0.286-0.3-0.274-0.774 0.026-1.06l5.25-5.002c0.29-0.275 0.745-0.275 1.034 0l5.25 5.002c0.3 0.286 0.312 0.76 0.026 1.06-0.286 0.3-0.76 0.312-1.06 0.026L10 10.784l-4.733 4.51c-0.3 0.285-0.774 0.273-1.06-0.027zm0-4.998c-0.286-0.3-0.274-0.775 0.026-1.06l5.25-5.002c0.29-0.276 0.745-0.276 1.034 0l5.25 5.001c0.3 0.286 0.312 0.76 0.026 1.06-0.286 0.3-0.76 0.312-1.06 0.026L10 5.786l-4.733 4.508c-0.3 0.286-0.774 0.275-1.06-0.025z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:pathData="M13.748 8.996c0.69 0 1.248-0.559 1.248-1.248 0-0.69-0.559-1.248-1.248-1.248-0.69 0-1.248 0.559-1.248 1.248 0 0.69 0.559 1.248 1.248 1.248zM6.25 3C4.455 3 3 4.455 3 6.25v9c0 1.795 1.455 3.25 3.25 3.25h9c1.795 0 3.25-1.455 3.25-3.25v-9C18.5 4.455 17.045 3 15.25 3h-9zM4.5 6.25c0-0.966 0.784-1.75 1.75-1.75h9C16.216 4.5 17 5.284 17 6.25v9c0 0.231-0.045 0.452-0.126 0.654l-4.587-4.291c-0.865-0.81-2.21-0.81-3.075 0l-4.586 4.29C4.545 15.701 4.5 15.481 4.5 15.25v-9zm6.762 6.458l4.505 4.214C15.604 16.972 15.43 17 15.25 17h-9c-0.18 0-0.354-0.027-0.518-0.078l4.505-4.214c0.289-0.27 0.737-0.27 1.025 0zM8.75 21c-1.15 0-2.162-0.598-2.74-1.5h9.74c2.071 0 3.75-1.679 3.75-3.75V6.011C20.402 6.59 21 7.6 21 8.751v7C21 18.65 18.65 21 15.75 21h-7z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -15,7 +15,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginEnd="16dp"
android:tint="?colorM3Primary"
android:tint="?colorM3OnPrimaryContainer"
android:scaleType="center"
android:importantForAccessibility="no"
tools:src="@drawable/ic_fluent_arrow_trending_24_regular"/>

View File

@@ -1,79 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_timeline_gap_border">
<FrameLayout
android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:background="?android:selectableItemBackground">
<ProgressBar
android:id="@+id/progress_top"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:visibility="gone"/>
<TextView
android:id="@+id/text_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingHorizontal="16dp"
android:paddingTop="24dp"
android:paddingBottom="20dp"
android:drawablePadding="16dp"
android:drawableEnd="@drawable/ic_fluent_chevron_double_down_20_filled"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
android:text="@string/sk_load_missing_posts_below"/>
</FrameLayout>
android:layout_height="75dp"
android:background="@drawable/bg_timeline_gap">
<TextView
android:id="@+id/gap"
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:gravity="center"
android:textStyle="italic"
android:textColor="?colorM3Primary"
android:textAppearance="@style/m3_label_large"
android:background="@drawable/bg_timeline_gap"/>
android:layout_gravity="center_vertical"
android:gravity="center_horizontal"
android:textAppearance="@style/m3_body_large"
android:textColor="?android:textColorSecondary"
android:text="@string/load_missing_posts"/>
<FrameLayout
android:id="@+id/bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:background="?android:selectableItemBackground">
<ProgressBar
android:id="@+id/progress"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:visibility="gone"/>
<ProgressBar
android:id="@+id/progress_bottom"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:visibility="gone"/>
<TextView
android:id="@+id/text_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingHorizontal="16dp"
android:paddingTop="20dp"
android:paddingBottom="24dp"
android:drawablePadding="16dp"
android:drawableEnd="@drawable/ic_fluent_chevron_double_up_20_filled"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
android:text="@string/sk_load_missing_posts_above"/>
</FrameLayout>
</LinearLayout>
</FrameLayout>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent"
@@ -8,7 +8,7 @@
android:paddingTop="16dp"
android:paddingRight="16dp">
<RelativeLayout
<LinearLayout
android:id="@+id/spoiler_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -18,27 +18,12 @@
android:paddingTop="8dp"
android:paddingRight="12dp"
android:paddingBottom="8dp">
<ImageView
android:id="@+id/media_icon"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginHorizontal="8dp"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:scaleType="center"
android:contentDescription="@string/sk_post_contains_media"
android:src="@drawable/ic_fluent_image_24_regular"
android:tint="?colorM3OnSecondaryContainer" />
<TextView
android:id="@+id/spoiler_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_toStartOf="@id/media_icon"
android:textAppearance="@style/m3_body_large"
android:textColor="?colorM3OnSecondaryContainer"
tools:text="Spoilery stuff"/>
@@ -47,14 +32,21 @@
android:id="@+id/spoiler_action"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_below="@id/spoiler_title"
android:layout_toStartOf="@id/media_icon"
android:textAppearance="@style/m3_label_large"
android:singleLine="true"
android:gravity="center_vertical"
android:textColor="?colorM3Primary"
tools:text="Re-hide"/>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
<ImageView
android:id="@+id/media_icon"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="?android:actionBarItemBackground"
android:scaleType="center"
android:src="@drawable/ic_fluent_image_24_regular"
android:tint="?android:textColorSecondary" />
</LinearLayout>

View File

@@ -45,7 +45,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<org.joinmastodon.android.ui.tabs.TabLayout
android:id="@+id/tabbar"
android:layout_width="match_parent"
@@ -57,8 +56,6 @@
app:tabIndicatorFullWidth="false"
app:tabMinWidth="90dp"
app:tabMode="scrollable"
android:clipToPadding="false"
android:paddingHorizontal="4dp"
android:background="?colorM3Surface"/>
<View

View File

@@ -167,21 +167,19 @@
</org.joinmastodon.android.ui.views.AutoOrientationLinearLayout>
<LinearLayout
<org.joinmastodon.android.ui.views.AutoOrientationLinearLayout
android:id="@+id/username_wrap"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="12dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="8dp">
<TextView
android:id="@+id/username"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="2dp"
android:layout_marginEnd="4dp"
android:maxLines="1"
android:ellipsize="end"
@@ -189,29 +187,36 @@
android:textColor="?colorM3OnSurfaceVariant"
tools:text="\@Gargron" />
<ImageView
android:id="@+id/lock_icon"
android:layout_width="18sp"
android:layout_height="18sp"
android:layout_marginEnd="4dp"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:importantForAccessibility="no"
android:contentDescription="@string/manually_approves_followers"
android:src="@drawable/ic_fluent_lock_closed_20_filled" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="2dp">
<ImageView
android:id="@+id/bot_icon"
android:layout_width="18sp"
android:layout_height="18sp"
android:layout_marginEnd="4dp"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:importantForAccessibility="no"
android:contentDescription="@string/sk_icon_bot"
android:src="@drawable/ic_fluent_bot_20_filled" />
<ImageView
android:id="@+id/lock_icon"
android:layout_width="18sp"
android:layout_height="18sp"
android:layout_marginEnd="4dp"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:importantForAccessibility="no"
android:contentDescription="@string/manually_approves_followers"
android:src="@drawable/ic_fluent_lock_closed_20_filled" />
</LinearLayout>
<ImageView
android:id="@+id/bot_icon"
android:layout_width="18sp"
android:layout_height="18sp"
android:layout_marginEnd="4dp"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:importantForAccessibility="no"
android:contentDescription="@string/sk_icon_bot"
android:src="@drawable/ic_fluent_bot_20_filled" />
</LinearLayout>
</org.joinmastodon.android.ui.views.AutoOrientationLinearLayout>
<org.joinmastodon.android.ui.views.LinkedTextView
android:id="@+id/bio"
@@ -384,12 +389,11 @@
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/bg_onboarding_panel"
android:clipToPadding="false"
android:paddingHorizontal="4dp"
app:tabGravity="start"
app:tabIndicator="@drawable/tab_indicator_m3"
app:tabIndicatorAnimationMode="elastic"
app:tabIndicatorColor="?colorM3Primary"
android:paddingHorizontal="4dp"
app:tabIndicatorFullWidth="false"
app:tabMinWidth="0dp"
app:tabMode="scrollable" />

View File

@@ -13,6 +13,8 @@
android:id="@+id/tabbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="12dp"
android:paddingBottom="16dp"
android:paddingHorizontal="8dp">
<LinearLayout
@@ -21,8 +23,6 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="8dp"
android:paddingTop="12dp"
android:paddingBottom="16dp"
android:orientation="vertical">
<FrameLayout
@@ -61,8 +61,6 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="8dp"
android:paddingTop="12dp"
android:paddingBottom="16dp"
android:orientation="vertical">
<FrameLayout
@@ -101,8 +99,6 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="8dp"
android:paddingTop="12dp"
android:paddingBottom="16dp"
android:orientation="vertical">
<RelativeLayout
@@ -159,8 +155,6 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="8dp"
android:paddingTop="12dp"
android:paddingBottom="16dp"
android:orientation="vertical">
<FrameLayout

View File

@@ -31,222 +31,4 @@
<string name="sk_user_post_notifications_off">عطل إشعارات النشر لـ %s</string>
<string name="sk_check_for_update">تحقق من وجود تحديثات</string>
<string name="sk_no_update_available">لا يتوفر تحديث</string>
<string name="sk_duration_hours_1">ساعة واحدة</string>
<string name="sk_duration_hours_6">6 ساعات</string>
<string name="sk_duration_days_1">يوم واحد</string>
<string name="sk_duration_days_3">3 أيام</string>
<string name="sk_duration_days_7">7 أيام</string>
<string name="sk_federated_timeline">الفديرالية</string>
<string name="sk_timeline_local">المحلي</string>
<string name="sk_tab_notifications">الإشعارات</string>
<string name="sk_mute_label">المدة</string>
<string name="sk_settings_show_boosts">إظهار المعاد نشرها</string>
<string name="sk_duration_minutes_5">5 دقائق</string>
<string name="sk_timeline_home">الرئيسي</string>
<string name="sk_duration_minutes_30">30 دقيقة</string>
<string name="sk_tab_home">الرئيسي</string>
<string name="sk_edit_timeline_tag_main">المنشورات التي تحتوي على الوسم …</string>
<string name="sk_post_edited">عُدِّل</string>
<string name="sk_notification_type_update">المنشورات المُعدَّلة</string>
<string name="sk_settings_publish_button_text">نص زر النشر</string>
<string name="sk_delete_notification_confirm_action">حذف الإشعار</string>
<string name="sk_settings_translation_availability_note_available">إنَّ %s يدعم خدمة الترجمة!</string>
<string name="sk_reply_as">رُدّ بواسطة حساب آخَر</string>
<string name="sk_confirm_save_changes">أتريد حفظ التعديلات؟</string>
<string name="sk_list_replies_policy_none">لا أحد</string>
<string name="sk_unpinned_timeline">تم فك التثبيت مِن الرئيسي</string>
<string name="sk_settings_hide_interaction">إخفاء أزرار التفاعلات</string>
<string name="sk_list_exclusive_switch">جعلُ القائمة حصرية</string>
<string name="sk_favorite_as">أضفه إلى المفضلة بحساب آخَر</string>
<string name="sk_timeline_bubble">فقاعة</string>
<string name="sk_icon_bot">حساب آلي</string>
<string name="sk_icon_keyboard">لوحة المفاتيح الموسيقية</string>
<string name="sk_local_only">الخادم المحلي فقط</string>
<string name="sk_settings_disable_alt_text_reminder">تعطيل تذكيري لإضافة نص بديل</string>
<string name="sk_no_remote_info_hint">المعلومات البُعدية غير متوفرة</string>
<string name="sk_advanced_options_show">إظهار الميزات المتقدمة</string>
<string name="sk_content_type">نوع المحتوى</string>
<string name="sk_app_name">Megalodon</string>
<string name="sk_list">القائمة</string>
<string name="sk_edit_timelines">تعديل الخيوط الزمنية</string>
<string name="sk_icon_feed">موجز اخباري</string>
<string name="sk_gif_badge">GIF</string>
<string name="sk_inline_local_only">المحلي فقط</string>
<string name="sk_settings_reply_visibility">مدى ظهور الردود</string>
<string name="sk_settings_show_interaction_counts">إظهار عدد التفاعلات</string>
<string name="sk_settings_app_version">Megalodon نسخة %1$s (%2$d)</string>
<string name="sk_mark_media_as_sensitive">تعيين الوسائط كحساسة</string>
<string name="sk_update_available">ميگالودون %s متوفّر للتنزيل.</string>
<string name="sk_welcome_text">القِرش يحييك! للبداية ، رجاءً قم بإدخال اسم نطاق خادمك الخاص هنا.</string>
<string name="sk_color_palette_material3">النظام</string>
<string name="sk_color_palette_pink">وردي</string>
<string name="sk_color_palette_purple">أرجواني</string>
<string name="sk_color_palette_green">أخضر</string>
<string name="sk_color_palette_blue">أزرق</string>
<string name="sk_color_palette_brown">قهوي</string>
<string name="sk_color_palette_red">أحمر</string>
<string name="sk_color_palette_yellow">أصفر</string>
<string name="sk_poll_allow_multiple">السماح بخيارات متعددة</string>
<string name="sk_translate_post">ترجمة</string>
<string name="sk_translate_show_original">إظهار الأصلي</string>
<string name="sk_translated_using">تُرجِم بواسطة %s</string>
<string name="sk_post_language">اللغة: %s</string>
<string name="sk_available_languages">اللغات المتوفرة</string>
<string name="sk_clear_recent_languages">مسح آخر اللغات المستخدَمة</string>
<string name="sk_welcome_title">مرحبًا!</string>
<string name="sk_example_domain">example.social</string>
<string name="sk_settings_profile">إعداد الملف التعريفي</string>
<string name="sk_settings_posting">تفضيلات النشر</string>
<string name="sk_settings_filters">ضبط عوامل التصفية</string>
<string name="sk_settings_auth">إعدادات الأمان</string>
<string name="sk_settings_rules">القواعد</string>
<string name="sk_settings_about">عن التطبيق</string>
<string name="sk_settings_donate">التبرع</string>
<string name="sk_delete_notification">حذف الإشعار</string>
<string name="sk_clear_all_notifications">حذف كافة الإشعارات</string>
<string name="sk_clear_all_notifications_confirm_action">حذف الكل</string>
<string name="sk_settings_publish_button_text_title">تخصيص نص زر النشر</string>
<string name="sk_settings_translate_only_opened">ترجمة المنشورات المفتوحة فقط</string>
<string name="sk_loading_fediverse_resource_title">البحث عنه في الفديفرس</string>
<string name="sk_loading_resource_on_instance_title">البحث في %s</string>
<string name="sk_quote_post">أنشُر حول الموضوع</string>
<string name="sk_hashtags_you_follow">الوسوم التي تتبعها</string>
<string name="sk_copy_link_to_post">انسخ رابط المنشور</string>
<string name="sk_open_with_account">افتحه بواسطة حساب آخَر</string>
<string name="sk_unsent_posts">المنشورات غير المُرسَلَة</string>
<string name="sk_draft">المسودة</string>
<string name="sk_schedule">برمجة</string>
<string name="sk_confirm_delete_draft_title">احذف المسودّة</string>
<string name="sk_draft_saved">تم حفظ المسودّة</string>
<string name="sk_confirm_save_draft">أتريد حفظ المسودّة؟</string>
<string name="sk_settings_translation_availability_note_unavailable">لا يبدو أنّ %s يدعم الترجمة.</string>
<string name="sk_bookmark_as">أضفه إلى الفواصل المرجعية بحساب آخَر</string>
<string name="sk_forward_report_to">إعادة التوجيه إلى %s</string>
<string name="sk_compose_draft">سيُحفَظ المنشور كمسودّة.</string>
<string name="sk_mark_as_draft">تعيينه كمسودّة</string>
<string name="sk_schedule_post">برمَجة المنشور</string>
<string name="sk_edit_list_title">تعديل القائمة</string>
<string name="sk_your_lists">قوائمك</string>
<string name="sk_announcements">الإعلانات</string>
<string name="sk_mark_as_read">تعيينه كمقروء</string>
<string name="sk_settings_about_instance">عن مثيل الخادم</string>
<string name="sk_create">إنشاء</string>
<string name="sk_create_list_title">إنشاء قائمة</string>
<string name="sk_list_name_hint">اسم القائمة</string>
<string name="sk_list_replies_policy_list">أعضاء القائمة</string>
<string name="sk_list_replies_policy_followed">المستخدِمون المتابَعون</string>
<string name="sk_delete_list">احذف القائمة</string>
<string name="sk_timeline_federated">الفديرالية</string>
<string name="sk_settings_single_notification">إظهار إشعار واحد فقط</string>
<string name="sk_settings_unifiedpush">استخدم UnifiedPush</string>
<string name="sk_settings_unifiedpush_choose">اختر مُزوِّدًا</string>
<string name="sk_delete_list_confirm">أمُتأكد مِن أنك تُريد حذف قائمة \"%s\"؟</string>
<string name="sk_recent_searches_placeholder">أكتب شيئا ما لمواصلة البحث</string>
<string name="sk_changelog">سِجِلّ التغييرات</string>
<string name="sk_alt_text_missing_title">ينقصه نص بديل</string>
<string name="sk_publish_anyway">أنشُره على أي حال</string>
<string name="sk_timelines">الخيوط الزمنية</string>
<string name="sk_timeline_posts">المنشورات</string>
<string name="sk_timelines_add">إضافة</string>
<string name="sk_remove_follower">تنحية من بين متابعيك</string>
<string name="sk_pinned_timeline">مثبَّت على الرئيسي</string>
<string name="sk_edit_timeline_tag_any">… أو أي من هذه</string>
<string name="sk_edit_timeline_tag_hint">أدخِل الوسم …</string>
<string name="sk_edit_timeline_tags_hint">أدخِل الوسوم …</string>
<string name="sk_timeline">الخيط الزمني</string>
<string name="sk_hashtag">الوسم</string>
<string name="sk_pin_timeline">تثبيت الخيط الزمني</string>
<string name="sk_unpin_timeline">فكّ تثبيت الخيط الزمني</string>
<string name="sk_remove">حذف</string>
<string name="sk_timeline_icon">أيقونة</string>
<string name="sk_icon_heart">قلب</string>
<string name="sk_icon_star">نجمة</string>
<string name="sk_icon_city">مدينة</string>
<string name="sk_icon_cat">قط</string>
<string name="sk_icon_dog">كلب</string>
<string name="sk_icon_rabbit">أرنب</string>
<string name="sk_icon_turtle">سلحفاة</string>
<string name="sk_icon_bed">سرير</string>
<string name="sk_icon_recycle_bin">سلة مهملات</string>
<string name="sk_icon_doctor">طبيب</string>
<string name="sk_add_timeline">إضافة خيط زمني</string>
<string name="sk_icon_balloon">كرة</string>
<string name="sk_icon_image">صورة</string>
<string name="sk_icon_language">اللغة</string>
<string name="sk_icon_location">المكان</string>
<string name="sk_icon_microphone">المايكروفون</string>
<string name="sk_icon_microscope">مجهر</string>
<string name="sk_icon_coffee">قهوة</string>
<string name="sk_icon_laugh">ضحك</string>
<string name="sk_icon_news">أخبار</string>
<string name="sk_icon_stethoscope">سمّاعة</string>
<string name="sk_icon_weather">الطقس</string>
<string name="sk_icon_games">ألعاب</string>
<string name="sk_icon_diamond">ألماس</string>
<string name="sk_icon_umbrella">مطرية</string>
<string name="sk_hashtag_timeline_local_only_switch">أتريد إظهار المنشورات المحلية فقط؟</string>
<string name="sk_alt_button">ALT</string>
<string name="sk_attach_file">أرفِق ملفًا</string>
<string name="sk_searching">البحث…</string>
<string name="sk_no_alt_text">لا نص بديل متوفر</string>
<string name="sk_separator">·</string>
<string name="sk_instance_features">ميزات مثيل الخادم</string>
<string name="sk_reported">تم الإبلاغ عنه</string>
<string name="sk_settings_server_version">إصدار الخادم: %s</string>
<string name="sk_expand">توسيع</string>
<string name="sk_follow_as">متابعته بواسطة حساب آخَر</string>
<string name="sk_settings_default_content_type">النوع المبدئي للمحتوى</string>
<string name="sk_open_in_app">افتحه بواسطة التطبيق</string>
<string name="sk_exclusive_list">قائمة حصرية</string>
<string name="sk_advanced_options_hide">إخفاء الميزات المتقدمة</string>
<string name="sk_spoiler_show">إظهار المحتوى</string>
<string name="sk_pronouns_label">الضمائر</string>
<string name="sk_no_results">لا نتائج</string>
<string name="sk_save_draft">أتريد حفظ المسودّة؟</string>
<string name="sk_content_type_unspecified">غير محدد</string>
<string name="sk_external_share_title">شاركه عبر حساب</string>
<string name="sk_settings_auto_reveal_author">ردود مِن نفس الناشر</string>
<string name="sk_settings_instance">مثيل الخادم</string>
<string name="sk_settings_true_black">الوضع الأسود الداكن</string>
<string name="sk_settings_display_pronouns_in_timelines">إظهار الضمائر على الخيوط الزمنية</string>
<string name="sk_settings_display_pronouns_in_threads">إظهار الضمائر على خيوط المحادثات</string>
<string name="sk_tab_search">البحث</string>
<string name="sk_tab_profile">الملف التعريفي</string>
<string name="sk_settings_confirm_before_reblog">التأكيد قبل إعادة النشر</string>
<string name="sk_language_name">%1$s (%2$s)</string>
<string name="sk_undo_reblog">إلغاء إعادة النشر</string>
<string name="sk_reblog_with_visibility">أعد النشر بمدى الظهور التالي</string>
<string name="sk_reblog_as">أعد النشر بحساب آخَر</string>
<string name="sk_reblogged_as">تمت إعادة النشر كـ %s</string>
<string name="sk_show_thread">إظهار خيط المحادثة</string>
<string name="sk_new_reports">إبلاغات جديدة</string>
<string name="sk_collapse">اطوي</string>
<string name="sk_settings_always_reveal_content_warnings">الكشف عن تحذيرات المحتوى دائما</string>
<string name="sk_notification_type_status">المنشورات</string>
<string name="sk_update_ready">تم تنزيل ميگالودون %s وهو جاهز للتنصيب.</string>
<string name="sk_edit_timeline">تعديل الخيط الزمني</string>
<string name="sk_icon_pin">دبوس</string>
<string name="sk_icon_leaves">أوراق شجر</string>
<string name="sk_icon_sport">رياضة</string>
<string name="sk_icon_music">موسيقى</string>
<string name="sk_icon_people">ناس</string>
<string name="sk_icon_health">صحة</string>
<string name="sk_icon_important">مهم</string>
<string name="sk_icon_chat">دردشة</string>
<string name="sk_icon_human">إنسان</string>
<string name="sk_icon_globe">كرة أرضية</string>
<string name="sk_icon_light_bulb">مصباح</string>
<string name="sk_icon_train">قطار</string>
<string name="sk_icon_shield">درع</string>
<string name="sk_icon_book">كتاب</string>
<string name="sk_icon_bicycle">دراجة هوائية</string>
<string name="sk_icon_map">خريطة</string>
<string name="sk_icon_fire">نار</string>
<string name="sk_icon_bug">حشرة</string>
<string name="sk_icon_pizza">بيتزا</string>
<string name="sk_icon_gavel">مطرقة</string>
<string name="sk_icon_headphones">سمّاعات</string>
<string name="sk_notify_poll_results">نتيجة استطلاع الرأي</string>
<string name="sk_filtered">تمت تصفيته: %s</string>
<string name="sk_search_fediverse">البحث في الفديفرس</string>
</resources>

View File

@@ -2,7 +2,6 @@
<resources>
<string name="log_in">লগ ইন করুন</string>
<string name="next">এরপর</string>
<string name="loading_instance">সার্ভারের তথ্য পুনরূদ্ধার করা হচ্ছে…</string>
<string name="error">কোনো ত্রুটি ঘটেছে</string>
<string name="ok">ঠিক আছে</string>
<string name="preparing_auth">প্রমাণীকরণের জন্য প্রস্তুত হচ্ছে...</string>
@@ -66,10 +65,6 @@
<item quantity="one">%d দিন বাকি</item>
<item quantity="other">%d দিন বাকি</item>
</plurals>
<plurals name="x_votes">
<item quantity="one">%,d ভোট</item>
<item quantity="other">%,d ভোট</item>
</plurals>
<string name="poll_closed">বন্ধ</string>
<string name="confirm_mute_title">অ্যাকাউন্টটি মিউট করুন</string>
<string name="do_mute">মিউট করুন</string>
@@ -128,8 +123,6 @@
<string name="category_tech">তথ্য-প্রযুক্তি</string>
<string name="confirm_email_title">আপনার ইনবক্স দেখুন</string>
<!-- %s is the email address -->
<string name="open_email_app">ই-মেইল অ্যাপ খুলুন</string>
<string name="resent_email">নিশ্চিতকরনের ই-মেইল পাঠানো হয়েছে</string>
<string name="visibility_followers_only">ফলোয়ারদের জন্য</string>
<string name="notification_type_follow">নতুন ফলোয়াররা</string>
<string name="err_not_logged_in">Mastodon-এ প্রথমে লগ ইন করুন</string>

View File

@@ -372,8 +372,4 @@
<string name="sk_bubble_timeline_info_banner">Aquestes són les publicacions més recents de la xarxa seleccionades per l\'administració de la instància.</string>
<string name="sk_icon_gauge">Indicador</string>
<string name="sk_search_fediverse">Cerca al fedivers</string>
<plurals name="sk_posts_count_label">
<item quantity="one">publicació</item>
<item quantity="other">publicacions</item>
</plurals>
</resources>

View File

@@ -43,8 +43,8 @@
<string name="block_user">%s sperren</string>
<string name="unblock_user">%s entsperren</string>
<string name="report_user">%s melden</string>
<string name="block_domain">%s sperren</string>
<string name="unblock_domain">%s nicht mehr sperren</string>
<string name="block_domain">%s blockieren</string>
<string name="unblock_domain">%s nicht mehr blockieren</string>
<plurals name="x_posts">
<item quantity="one">%,d Beitrag</item>
<item quantity="other">%,d Beiträge</item>
@@ -98,12 +98,12 @@
<string name="do_unmute">Nicht mehr stummschalten</string>
<string name="confirm_block_title">Konto sperren</string>
<string name="confirm_block_domain_title">Domain sperren</string>
<string name="confirm_block">Bestätigen, um %s zu sperren</string>
<string name="confirm_block">Bestätigen, um %s zu blockieren</string>
<string name="do_block">Sperren</string>
<string name="confirm_unblock_title">Konto nicht mehr sperren</string>
<string name="confirm_unblock_domain_title">Domain nicht mehr blockieren</string>
<string name="confirm_unblock">Bestätigen, um Sperre von %s aufzuheben</string>
<string name="do_unblock">Sperre aufheben</string>
<string name="confirm_unblock">Bestätigen, um %s nicht mehr zu blockieren</string>
<string name="do_unblock">Nicht mehr blockieren</string>
<string name="button_blocked">Blockiert</string>
<string name="action_vote">Abstimmen</string>
<string name="delete">Löschen</string>
@@ -387,7 +387,6 @@
<string name="welcome_to_mastodon">Willkommen auf Mastodon</string>
<string name="welcome_paragraph1">Mastodon ist ein dezentrales, soziales Netzwerk. Das bedeutet, dass es nicht von einem einzigen Unternehmen kontrolliert wird. Das Netzwerk besteht aus unabhängig voneinander betriebenen Servern, die miteinander verbunden sind.</string>
<string name="what_are_servers">Was sind Server?</string>
<string name="welcome_paragraph2"><![CDATA[Jedes Mastodon-Konto wird auf einem Server gehostet. Jeder Server hat dabei seine eigenen Werte, Regeln und Administrator*innen. Aber egal, für welchen Server Du Dich entscheidest: Du kannst mit Leuten von anderen Servern interagieren und ihnen folgen.]]></string>
<string name="opening_link">Link wird geöffnet…</string>
<string name="link_not_supported">Dieser Link wird in der App nicht unterstützt</string>
<string name="log_out_all_accounts">Von allen Konten abmelden</string>

View File

@@ -348,45 +348,4 @@
<string name="sk_tab_search">Suche</string>
<string name="sk_tab_notifications">Benachrichtigungen</string>
<string name="sk_tab_profile">Profil</string>
<string name="sk_enter_emoji_toast">Bitte geben Sie ein Emoji ein</string>
<string name="sk_settings_emoji_reactions">Emoji-Reaktionen einschalten</string>
<string name="sk_settings_emoji_reactions_explanation">Zeigt Emoji-Reaktionen zu Beiträgen an und lässt dich eigene hinzufügen. Einige Fediverse-Server unterstützen das, Mastodon jedoch nicht.</string>
<string name="sk_button_react">Mit Emoji reagieren</string>
<string name="sk_mute_label">Dauer</string>
<string name="sk_settings_show_emoji_reactions">Emoji-Reaktionen in Timelines anzeigen</string>
<string name="sk_settings_show_emoji_reactions_only_opened">Nur wenn der Beitrag geöffnet ist</string>
<string name="sk_duration_days_3">3 Tage</string>
<string name="sk_search_suicide_message">Wenn du auf ein Zeichen wartest, keinen Suizid zu begehen das hier ist es. Bitte ziehe in Erwägung, eine Suizid-Hotline zu kontaktieren, wenn du Hilfe brauchst.</string>
<string name="sk_settings_show_emoji_reactions_hide_empty">Leere Emoji-Reaktionen verbergen</string>
<string name="sk_settings_show_emoji_reactions_always">Hinzufügen-Button immer anzeigen</string>
<string name="sk_enter_emoji_hint">Emoji zum Reagieren eintippen</string>
<string name="sk_duration_indefinite">Unbestimmt</string>
<string name="sk_duration_minutes_5">5 Minuten</string>
<string name="sk_duration_minutes_30">30 Minuten</string>
<string name="sk_duration_hours_1">1 Stunde</string>
<string name="sk_duration_hours_6">6 Stunden</string>
<string name="sk_duration_days_1">1 Tag</string>
<string name="sk_duration_days_7">7 Tage</string>
<string name="sk_notification_mention">Du wurdest von %s erwähnt</string>
<string name="sk_suicide_search_terms">Suizid</string>
<string name="sk_search_suicide_title">Falls es dir schlecht geht…</string>
<string name="sk_search_suicide_hotlines">Hotline finden</string>
<string name="sk_do_not_show_again">Nicht mehr anzeigen</string>
<string name="sk_post_contains_media">Beitrag enthält Medien</string>
<plurals name="sk_users_reacted_with">
<item quantity="one">Ein User hat mit %2$s reagiert</item>
<item quantity="other">%1$,d User haben mit %2$s reagiert</item>
</plurals>
<plurals name="sk_posts_count_label">
<item quantity="one">Beitrag</item>
<item quantity="other">Beiträge</item>
</plurals>
<string name="sk_settings_show_labels_in_navigation_bar">Tab-Bezeichnungen in der Navigationsleiste anzeigen</string>
<string name="sk_time_seconds">%d Sekunden</string>
<string name="sk_time_minutes">%d Minuten</string>
<string name="sk_time_hours">%d Stunden</string>
<string name="sk_time_days">%d Tage</string>
<string name="sk_suicide_helplines_url">https://findahelpline.com</string>
<string name="sk_load_missing_posts_below">Ältere Beiträge laden</string>
<string name="sk_load_missing_posts_above">Neuere Beiträge laden</string>
</resources>

View File

@@ -331,10 +331,10 @@
<string name="sk_gif_badge">GIF</string>
<string name="sk_spoiler_show">Mostrar el contenido</string>
<string name="sk_pronouns_label">Pronombres</string>
<string name="sk_switch_timeline">Cambiar la cronología</string>
<string name="sk_switch_timeline">Cambiar la línea de tiempo</string>
<string name="sk_settings_instance">Instancia</string>
<string name="sk_disable_pill_shaped_active_indicator">Desactivar el indicador de pestaña activa en forma de pastilla</string>
<string name="sk_settings_true_black">Usar tema negro</string>
<string name="sk_settings_true_black">Modo negro intenso</string>
<string name="sk_search_fediverse">Buscar en el Fediverso</string>
<string name="sk_settings_unifiedpush_choose">Selecciona un distribuidor</string>
<string name="sk_settings_unifiedpush_no_distributor">No se ha encontrado ningún distribuidor</string>
@@ -378,16 +378,4 @@
<item quantity="many">temas</item>
<item quantity="other">temas</item>
</plurals>
<string name="sk_settings_show_emoji_reactions_hide_empty">Ocultar emoji vacíos</string>
<string name="sk_settings_show_emoji_reactions_only_opened">Sólo cuando se abre un tema</string>
<string name="sk_settings_show_emoji_reactions_always">Mostrar siempre el botón de añadir</string>
<string name="sk_search_suicide_hotlines">Encontrar un teléfono de ayuda</string>
<string name="sk_do_not_show_again">No mostrar de nuevo</string>
<string name="sk_post_contains_media">El tema contiene medios</string>
<string name="sk_load_missing_posts_oldest_first">El más antiguo primero (hacia arriba)</string>
<string name="sk_settings_show_emoji_reactions">Mostrar los emoji en las líneas de tiempo</string>
<string name="sk_search_suicide_title">En caso de que estés en apuros…</string>
<string name="sk_suicide_helplines_url">https://findahelpline.com</string>
<string name="sk_settings_load_missing_posts">Cargar los mensajes que faltan</string>
<string name="sk_load_missing_posts_newest_first">Lo más nuevo primero (hacia abajo)</string>
</resources>

View File

@@ -11,10 +11,6 @@
<string name="user_boosted">%s(e)k bultzatu du</string>
<string name="in_reply_to">%s-(r)i erantzunez</string>
<string name="notifications">Jakinarazpenak</string>
<string name="user_followed_you">%s(e)k jarraitu zaitu</string>
<string name="user_sent_follow_request">%s-(e)k jarraitzeko eskaera bidali dizu</string>
<string name="user_favorited">%s(e)k zure bidalketa gogoko du</string>
<string name="notification_boosted">%s(e)k zure bidalketa bultzatu du</string>
<string name="share_toot_title">Partekatu</string>
<string name="settings">Ezarpenak</string>
<string name="publish">Argitaratu</string>
@@ -36,7 +32,6 @@
<string name="button_follow">Jarraitu</string>
<string name="button_following">Jarraitzen</string>
<string name="edit_profile">Editatu profila</string>
<string name="share_user">Partekatu profila</string>
<string name="mute_user">Mututu %s</string>
<string name="unmute_user">Desmututu %s</string>
<string name="block_user">Blokeatu %s</string>

View File

@@ -1,378 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sk_pinned_posts">Kiinnitetty</string>
<string name="sk_app_name">Megalodon</string>
<string name="sk_filtered">Suodatettu: %s</string>
<string name="sk_settings_emoji_reactions">Ota emojireaktiot käyttöön</string>
<string name="sk_settings_emoji_reactions_in_lists">Näytä emojireaktiot aikajanoissa</string>
<string name="sk_settings_emoji_reactions_in_lists_explanation">Näytetäänkö emojireaktiot aikajanoissa. Jos tämä on pois käytöstä, emojireaktiot näkyvät vain lankaa katsottaessa.</string>
<string name="sk_button_react">Reagoi emojilla</string>
<string name="sk_again_for_system_keyboard">Järjestelmän näppäimistö seuraavalla painalluksella</string>
<string name="sk_enter_emoji_toast">Tähän tarvitaan emoji</string>
<string name="sk_enter_emoji_hint">Kirjoita vastataksesi emojilla</string>
<string name="sk_mute_label">Kesto</string>
<string name="sk_duration_indefinite">Loputon</string>
<string name="sk_duration_minutes_5">5 minuuttia</string>
<string name="sk_duration_minutes_30">30 minuuttia</string>
<string name="sk_duration_hours_1">1 tunti</string>
<string name="sk_duration_hours_6">6 tuntia</string>
<string name="sk_duration_days_1">1 päivä</string>
<string name="sk_duration_days_3">3 päivää</string>
<string name="sk_duration_days_7">7 päivää</string>
<string name="sk_notification_mention">%s mainitsi sinut</string>
<string name="sk_timeline_local">Paikallinen</string>
<string name="sk_timeline_home">Koti</string>
<string name="sk_delete_and_redraft">Poista ja kirjoita uudestaan</string>
<string name="sk_pin_post">Kiinnitä profiiliin</string>
<string name="sk_unpin_post">Irrota profiilista</string>
<string name="sk_confirm_delete_and_redraft_title">Poista ja kirjoita viesti uudelleen</string>
<string name="sk_confirm_pin_post_title">Kiinnitä viesti profiiliin</string>
<string name="sk_confirm_pin_post">Haluatko kiinnittää tämän viestin profiiliisi\?</string>
<string name="sk_confirm_delete_and_redraft">Oletko varma että haluat poistaa ja kirjoittaa viestin uudelleen\?</string>
<string name="sk_confirm_unpin_post_title">Poista viestin kiinnitys profiilista</string>
<string name="sk_unpinning">Viestiä irrotetaan…</string>
<string name="sk_pinning">Viestiä kiinnitetään…</string>
<string name="sk_image_description">Kuvaselitys</string>
<string name="sk_visibility_unlisted">Listaamaton</string>
<string name="sk_settings_show_replies">Näytä vastaukset</string>
<string name="sk_list_timelines">Listat</string>
<string name="sk_clear_recent_languages">Tyhjennä viimeksi käytetyt kielet</string>
<string name="sk_welcome_title">Tervetuloa!</string>
<string name="sk_settings_contribute">Tue Megalodonia</string>
<string name="sk_settings_auto_reveal_equal_spoilers">Avaa automaattisesti samat sisältövaroitukset vastauksissa</string>
<string name="sk_settings_auto_reveal_nobody">Ei koskaan</string>
<string name="sk_settings_auto_reveal_author">Saman tilin vastauksissa</string>
<string name="sk_settings_auto_reveal_anyone">Kaikkien vastauksissa</string>
<string name="sk_settings_translate_only_opened">Käännä vain avatut viestit</string>
<string name="sk_translate_show_original">Näytä alkuperäinen</string>
<string name="sk_available_languages">Käytettävissä olevat kielet</string>
<string name="sk_translated_using">Kännetty käyttäen %s</string>
<string name="sk_post_language">Kieli: %s</string>
<string name="sk_settings_profile">Luo profiili</string>
<string name="sk_settings_posting">Julkaisuasetukset</string>
<string name="sk_color_palette_material3">Järjestelmä</string>
<string name="sk_color_palette_pink">Pinkki</string>
<string name="sk_settings_color_palette">Väripaletti</string>
<string name="sk_delete_notification">Poista ilmoitus</string>
<string name="sk_settings_translation_availability_note_available">%s tukee käännöksiä!</string>
<string name="sk_open_in_app_failed">Sovelluksessa avaaminen ei onnistunut</string>
<string name="sk_external_share_title">Jaa tilinä</string>
<string name="sk_clear_all_notifications">Poista kaikki ilmoitukset</string>
<string name="sk_clear_all_notifications_confirm_action">Poista kaikki</string>
<string name="sk_clear_all_notifications_confirm">Oletko varma, että haluat poistaa kaikki ilmoitukset\?</string>
<string name="sk_loading_fediverse_resource_title">Etsitään Fediversestä</string>
<string name="sk_undo_reblog">Peru tehostus</string>
<string name="sk_reblog_with_visibility">Tehostuksen näkyvyysasetus</string>
<string name="sk_copy_link_to_post">Kopioi linkki viestiin</string>
<string name="sk_open_with_account">Avaa toisella tilillä</string>
<string name="sk_resource_not_found">Kohdetta ei löytynyt</string>
<string name="sk_settings_allow_remote_loading">Hae tietoa etäinstansseista</string>
<string name="sk_forward_report_to">Lähetä edelleen kohteeseen %s</string>
<string name="sk_unsent_posts">Julkaisemattomat viestit</string>
<string name="sk_settings_prefix_replies_always">Vastauksissa kaikille</string>
<string name="sk_settings_prefix_replies_never">Ei koskaan</string>
<string name="sk_confirm_save_draft">Tallenna luonnos\?</string>
<string name="sk_confirm_save_changes">Tallenna muutokset\?</string>
<string name="sk_mark_as_draft">Merkitse luonnokseksi</string>
<string name="sk_schedule_post">Ajasta julkaisu</string>
<string name="sk_icon_bed">Vuode</string>
<string name="sk_icon_verified">Todennettu</string>
<string name="sk_icon_doctor">Lääkäri</string>
<string name="sk_icon_diamond">Timantti</string>
<string name="sk_icon_umbrella">Sateenverjo</string>
<string name="sk_add_timeline">Lisää aikajana</string>
<string name="sk_edit_timeline_tag_main">Viestit joissa on aihetunniste…</string>
<string name="sk_edit_timeline_tag_any">...tai jokin näistä</string>
<string name="sk_icon_beaker">Kannu</string>
<string name="sk_content_type_unspecified">Ei määritelty</string>
<string name="sk_content_type_plain">Pelkkä teksti</string>
<string name="sk_content_type_html">HTML</string>
<string name="sk_content_type">Sisällön tyyppi</string>
<string name="sk_content_type_markdown">Markdown</string>
<string name="sk_settings_reduce_motion">Rajoita animaatioiden liikettä</string>
<string name="sk_settings_forward_report_default">Oletusarvo valinnalle \"Lähetä raportti edelleen\"</string>
<string name="sk_timeline_bubble">Bubble</string>
<string name="sk_mark_as_read">Merkitse luetuksi</string>
<string name="sk_announcements">Palvelinilmoitukset</string>
<string name="sk_settings_about_instance">Tietoja instanssista</string>
<string name="sk_settings_single_notification">Näytä vain yksi ilmoitus</string>
<string name="sk_create">Luo</string>
<string name="sk_in_reply">Vastauksena</string>
<string name="sk_delete_list_confirm">Oletko varma että haluat poistaa listan \"%s\"\?</string>
<string name="sk_remove_follower">Poista seuraajista</string>
<string name="sk_icon_cat">Kissa</string>
<string name="sk_icon_city">Kaupunki</string>
<string name="sk_icon_dog">Koira</string>
<string name="sk_icon_pin">Nasta</string>
<string name="sk_searching">Etsitään…</string>
<string name="sk_settings_see_new_posts_button">”Katso uudet viestit” -painike</string>
<string name="sk_icon_feed">Syöte</string>
<string name="sk_post_edited">muokattu</string>
<string name="sk_notification_type_update">Muokatut viestit</string>
<string name="sk_attach_file">Liitä tiedosto</string>
<string name="sk_settings_hide_interaction">Piilota reaktiopainikkeet</string>
<string name="sk_followed_as">Seurattu tilinä %s</string>
<string name="sk_settings_hide_fab">Piilota Julkaise-painike automaattisesti</string>
<string name="sk_follow_as">Seuraa toisena tilinä</string>
<string name="sk_notification_type_posts">Viesti-ilmoitukset</string>
<string name="sk_settings_tabs_disable_swipe">Estä välilehdestä toiseen pyyhkäiseminen</string>
<string name="sk_settings_enable_delete_notifications">Salli ilmoitusten poistaminen</string>
<string name="sk_gif_badge">GIF</string>
<string name="sk_no_alt_text">Selitys puuttuu</string>
<string name="sk_inline_direct">vain maininnat</string>
<string name="sk_settings_glitch_instance">Glitch local-only mode</string>
<string name="sk_settings_glitch_mode_explanation">Ota tämä käyttöön, jos koti-instanssisi käyttää Glitchiä. Hometown tai Akkoma eivät tarvitse tätä.</string>
<string name="sk_unfinished_attachments_message">Joitakin liitteitä ei ole vielä ladattu valmiiksi.</string>
<string name="sk_settings_content_types">Ota viestin muotoilu käyttöön</string>
<string name="sk_settings_default_content_type">Sisältötyypin oletusarvo</string>
<string name="sk_settings_default_content_type_explanation">Tämä mahdollistaa uusien viestien sisältötyypin ennaltavalinnan, ohittaa julkaisuasetuksissa asetetun arvon.</string>
<string name="sk_instance_info_unavailable">Tietoa instanssista ei juuri nyt ole saatavilla</string>
<string name="sk_open_in_app">Avaa sovelluksessa</string>
<string name="sk_external_share_or_open_title">Jaa tai avaa tilinä</string>
<string name="sk_settings_reply_visibility">Vastauksen näkyvyys</string>
<string name="sk_settings_reply_visibility_all">Kaikki vastaukset</string>
<string name="sk_show_thread">Näytä lanka</string>
<string name="sk_reply_line_above_avatar">\"Vastauksena\" -rivi käyttäjäkuvakkeen yläpuolella</string>
<string name="sk_compact_reblog_reply_line">Tiivistetty tehostus/vastaus-rivi</string>
<plurals name="sk_users_reacted_with">
<item quantity="one">Yksi käyttäjä reagoi näin: %2$s</item>
<item quantity="other">%1$,d käyttäjää reagoi näin: %2$s</item>
</plurals>
<plurals name="sk_posts_count_label">
<item quantity="one">viesti</item>
<item quantity="other">viestiä</item>
</plurals>
<string name="sk_settings_continues_playback">Ääniraita</string>
<string name="sk_settings_reply_visibility_following">Vastaukset seuraamilleni</string>
<string name="sk_settings_reply_visibility_self">Vastaukset minulle</string>
<string name="sk_settings_show_interaction_counts">Näytä laskimet</string>
<string name="sk_settings_app_version">Megalodon v%1$s (%2$d)</string>
<string name="sk_mark_media_as_sensitive">Merkitse media arkaluontoiseksi</string>
<string name="sk_federated_timeline_info_banner">Nämä ovat uusimmat viestit yleiseltä aikajanalta.</string>
<string name="sk_lists_with_user">Listoja joissa on %s</string>
<string name="sk_notification_type_status">Viestit</string>
<string name="sk_color_palette_blue">Sininen</string>
<string name="sk_color_palette_brown">Ruskea</string>
<string name="sk_color_palette_red">Punainen</string>
<string name="sk_color_palette_yellow">Keltainen</string>
<string name="sk_poll_allow_multiple">Salli useita valintoja</string>
<string name="sk_translate_post">Käännä</string>
<string name="sk_welcome_text">Hai tervehtii sinua! Päästäksesi alkuun kirjoita koti-instanssisi osoite alla olevaan ruutuun.</string>
<string name="sk_example_domain">example.social</string>
<string name="sk_settings_filters">Suodatinasetukset</string>
<string name="sk_settings_auth">Turvallisuusasetukset</string>
<string name="sk_settings_rules">Säännöt</string>
<string name="sk_settings_about">Tietoa sovelluksesta</string>
<string name="sk_settings_donate">Lahjoita</string>
<string name="sk_delete_notification_confirm">Oletko varma, että haluat poistaa ilmoituksen\?</string>
<string name="sk_settings_publish_button_text">Julkaisupainikkeen teksti</string>
<string name="sk_quote_post">Kirjoita viesti aiheena tämä</string>
<string name="sk_bookmark_as">Tee kirjamerkki toiselle tilille</string>
<string name="sk_already_bookmarked">Kirjamerkki jo tallennettu</string>
<string name="sk_favorite_as">Tykkä toisena tilinä</string>
<string name="sk_favorited_as">Tykätty tilinä %s</string>
<string name="sk_already_favorited">Tykkäys jo tallennettu</string>
<string name="sk_reply_as">Vastaa toisena tilinä</string>
<string name="sk_draft">Luonnos</string>
<string name="sk_schedule">Ajasta</string>
<string name="sk_confirm_delete_draft_title">Poista luonnos</string>
<string name="sk_confirm_delete_draft">Oletko varma, että haluat poistaa tämän viestiluonnoksen\?</string>
<string name="sk_confirm_delete_scheduled_post_title">Poista ajastettu julkaisu</string>
<string name="sk_user_post_notifications_off">Ilmoitukset käyttäjän %s viesteistä poistettu käyttöstä</string>
<string name="sk_settings_show_boosts">Näytä tehostukset</string>
<string name="sk_settings_load_new_posts">Lataa uudet viestit automaattisesti</string>
<string name="sk_draft_or_schedule">Luonnos tai ajastettu viesti</string>
<string name="sk_compose_scheduled">Ajastettu ajalle</string>
<string name="sk_draft_saved">Luonnos tallennettu</string>
<string name="sk_post_scheduled">Julkaisu ajastettu</string>
<string name="sk_scheduled_too_soon_title">Valittu aika on liian pian</string>
<string name="sk_schedule_or_draft">Ajasta tai kirjoita luonnos</string>
<string name="sk_compose_no_schedule">Älä ajasta</string>
<string name="sk_compose_no_draft">Älä kirjoita luonnosta</string>
<string name="sk_settings_unifiedpush">Ota käyttöön UnifiedPush</string>
<string name="sk_settings_unifiedpush_choose">Valitse jakelija</string>
<string name="sk_settings_unifiedpush_no_distributor">Jakelijaa ei löydetty</string>
<string name="sk_create_list_title">Luo lista</string>
<string name="sk_list_name_hint">Listan nimi</string>
<string name="sk_list_replies_policy">Näytä vastaukset kohteeseen</string>
<string name="sk_list_replies_policy_list">listan jäsenet</string>
<string name="sk_list_replies_policy_followed">seuratut tilit</string>
<string name="sk_list_replies_policy_none">ei mitään</string>
<string name="sk_delete_list">Poista lista</string>
<string name="sk_edit_list_title">Muokkaa listaa</string>
<string name="sk_your_lists">Listasi</string>
<string name="sk_timeline_federated">Yleinen</string>
<string name="sk_remove_follower_confirm">Poista %s seuraajista estämällä ja poistamalla esto välittömästi\?</string>
<string name="sk_do_remove_follower">Poista</string>
<string name="sk_remove_follower_success">Seuraaja poistettu onnistuneesti</string>
<string name="sk_changelog">Muutoslista</string>
<string name="sk_alt_text_missing_title">Kuvaselitys puuttuu</string>
<string name="sk_publish_anyway">Julkaise silti</string>
<string name="sk_settings_disable_alt_text_reminder">Poista muistutus mediakuvauksesta</string>
<string name="sk_notify_posts_info_banner">Jos otat käyttöön ilmoitukset joidenkin henkilöiden viesteistä, heidän uudet viestinsä näkyvät täällä.</string>
<string name="sk_timelines">Aikajanat</string>
<string name="sk_timeline_posts">Viestit</string>
<string name="sk_timelines_add">Lisää</string>
<string name="sk_timeline">Aikajana</string>
<string name="sk_list">Lista</string>
<string name="sk_hashtag">Aihetunniste</string>
<string name="sk_pin_timeline">Kiinnitä aikajana</string>
<string name="sk_unpin_timeline">Irrota aikajana</string>
<string name="sk_unpinned_timeline">Irrotettu kotinäytöstä</string>
<string name="sk_remove">Poista</string>
<string name="sk_timeline_icon">Kuvake</string>
<string name="sk_icon_heart">Sydän</string>
<string name="sk_icon_star">Tähti</string>
<string name="sk_icon_megaphone">Megafoni</string>
<string name="sk_icon_keyboard">Koskettimisto</string>
<string name="sk_icon_laugh">Nauru</string>
<string name="sk_icon_pi">Pii</string>
<string name="sk_icon_color_palette">Väripaletti</string>
<string name="sk_icon_academic_cap">Akateeminen päähine</string>
<string name="sk_icon_tag">Etiketti</string>
<string name="sk_icon_stethoscope">Stetoskooppi</string>
<string name="sk_icon_weather">Sää</string>
<string name="sk_icon_games">Pelit</string>
<string name="sk_icon_code">Koodi</string>
<string name="sk_icon_light_bulb">Hehkulamppu</string>
<string name="sk_icon_train">Juna</string>
<string name="sk_icon_leaves">Lehtiä</string>
<string name="sk_icon_sport">Urheilu</string>
<string name="sk_icon_aperture">Aukko</string>
<string name="sk_icon_music">Musiikki</string>
<string name="sk_icon_people">Ihmisiä</string>
<string name="sk_icon_health">Terveys</string>
<string name="sk_icon_important">Tärkeää</string>
<string name="sk_icon_chat">Juttelu</string>
<string name="sk_icon_shield">Kilpi</string>
<string name="sk_icon_book">Kirja</string>
<string name="sk_icon_bicycle">Polkupyörä</string>
<string name="sk_icon_map">Kartta</string>
<string name="sk_icon_math_formula">Laskukaava</string>
<string name="sk_icon_backpack">Reppu</string>
<string name="sk_icon_briefcase">Salkku</string>
<string name="sk_icon_fire">Tuli</string>
<string name="sk_icon_bug">Ötökkä</string>
<string name="sk_icon_gavel">Puheenjohtajan nuija</string>
<string name="sk_icon_gauge">Mittari</string>
<string name="sk_icon_headphones">Kuulokkeet</string>
<string name="sk_icon_human">Ihminen</string>
<string name="sk_icon_globe">Maapallo</string>
<string name="sk_edit_timeline">Muokkaa aikajanaa</string>
<string name="sk_edit_timeline_tag_all">... ja kaikki nämä</string>
<string name="sk_edit_timeline_tag_none">...muttei mitään näistä</string>
<string name="sk_edit_timeline_tag_hint">Kirjoita aihetunniste…</string>
<string name="sk_edit_timeline_tags_hint">Kirjoita aihetunnisteet…</string>
<string name="sk_hashtag_timeline_local_only_switch">Näytetäänkö vain paikalliset viestit\?</string>
<string name="sk_add_timeline_tag_error_empty">Aihetunniste ei voi olla tyhjä</string>
<string name="sk_alt_button">ALT</string>
<string name="sk_no_results">Ei tuloksia</string>
<string name="sk_save_draft">Tallenna luonnos\?</string>
<string name="sk_settings_show_alt_indicator">Ilmoitus kuvaselityksistä</string>
<string name="sk_settings_show_no_alt_indicator">Ilmoitus puuttuvista kuvaselityksistä</string>
<string name="sk_updater_enable_pre_releases">Salli pre-release-versiot</string>
<string name="sk_inline_local_only">vain paikallinen</string>
<string name="sk_separator">·</string>
<string name="sk_local_only">Vain paikallinen instanssi</string>
<string name="sk_settings_local_only_explanation">Jotta tämä toimii, koti-instanssisi on tuettava viestien julkaisemista ainoastaan paikallisesti. Useimmat Mastodonin muunnellut versiot tukevat, mutta Mastodon ei.</string>
<string name="sk_signed_up">rekisteröity</string>
<string name="sk_reported">raportoitu</string>
<string name="sk_sign_ups">Käyttäjät rekisteröityvät</string>
<string name="sk_settings_prefix_reply_cw_with_re">Lisää sisältövaroitukseen \"re:\" kun vastaat</string>
<string name="sk_unfinished_attachments">Korjataanko liitteet\?</string>
<string name="sk_content_type_bbcode">BBCode</string>
<string name="sk_content_type_mfm">MFM</string>
<string name="sk_settings_prefix_replies_to_others">Vain vastauksissa muille</string>
<string name="sk_exclusive_list">Erillinen lista</string>
<string name="sk_list_exclusive_switch">Tee listasta erillinen</string>
<string name="sk_list_exclusive_switch_explanation">Erillisen listan jäsenet eivät näy kotiaikajanallasi jos instanssisi tukee tätä.</string>
<string name="sk_advanced_options_show">Näytä lisäasetukset</string>
<string name="sk_advanced_options_hide">Piilota lisäasetukset</string>
<string name="sk_spoiler_show">Näytä sisältö</string>
<string name="sk_pronouns_label">Pronominit</string>
<string name="sk_switch_timeline">Vaihda aikajanaa</string>
<string name="sk_settings_instance">Instanssi</string>
<string name="sk_disable_pill_shaped_active_indicator">Ota aktiivisen välilehden pillerinmuotoinen osoitin pois käytöstä</string>
<string name="sk_settings_true_black">Täysmusta tila</string>
<string name="sk_settings_display_pronouns_in_timelines">Näytä pronominit aikajanoissa</string>
<string name="sk_settings_display_pronouns_in_threads">Näytä pronominit langoissa</string>
<string name="sk_settings_display_pronouns_in_user_listings">Näytä pronominit käyttäjälistoissa</string>
<string name="sk_tab_home">Koti</string>
<string name="sk_tab_search">Etsi</string>
<string name="sk_tab_notifications">Ilmoitukset</string>
<string name="sk_settings_show_labels_in_navigation_bar">Näytä välilehtien nimet navigointipalkissa</string>
<string name="sk_tab_profile">Profiili</string>
<string name="sk_reblogged_as">Tehostettu tililtä %s</string>
<string name="sk_already_reblogged">Jo tehostettu</string>
<string name="sk_reacted">%s reagoi</string>
<string name="sk_new_reports">Uusia raportteja</string>
<string name="sk_settings_server_version">Palvelimen versio: %s</string>
<string name="sk_notify_poll_results">Kyselyn tulokset</string>
<string name="sk_expand">Avaa</string>
<string name="sk_collapse">Kätke</string>
<string name="sk_settings_collapse_long_posts">Kätke pitkien viestien loppuosa</string>
<string name="sk_reacted_with">%1$s reagoi %2$s</string>
<string name="sk_notification_action_replied">Vastaus lähetetty käyttäjälle %s</string>
<string name="sk_update_ready">Megalodon %s on ladattu ja valmis asennettavaksi.</string>
<string name="sk_check_for_update">Etsi päivityksiä</string>
<string name="sk_no_update_available">Ei päivityksiä saatavilla</string>
<string name="sk_follow_requests">Seuraamispyynnöt</string>
<string name="sk_update_available">Megalodon %s on valmis ladattavaksi.</string>
<string name="sk_accept_follow_request">Hyväksy seuraamispyyntö</string>
<string name="sk_settings_always_reveal_content_warnings">Avaa sisältövaroitukset aina</string>
<string name="sk_settings_show_federated_timeline">Näytä yleinen aikajana</string>
<string name="sk_color_palette_purple">Violetti</string>
<string name="sk_color_palette_green">Vihreä</string>
<string name="sk_icon_turtle">Kilpikonna</string>
<string name="sk_icon_rabbit">Jänis</string>
<string name="sk_icon_balloon">Ilmapallo</string>
<string name="sk_icon_image">Kuva</string>
<string name="sk_icon_bot">Botti</string>
<string name="sk_icon_language">Kieli</string>
<string name="sk_icon_location">Sijainti</string>
<string name="sk_icon_microphone">Mikrofoni</string>
<string name="sk_icon_microscope">Mikroskooppi</string>
<string name="sk_instance_features">Instanssin ominaisuudet</string>
<string name="sk_search_fediverse">Etsi Fediversumista</string>
<string name="sk_settings_confirm_before_reblog">Kysy vahvistus ennen tehostamista</string>
<string name="sk_language_name">%1$s (%2$s)</string>
<string name="sk_confirm_clear_recent_languages">Oletko varma, että haluat tyhjentää viimeksi käytettyjen kielten listan\?</string>
<string name="sk_user_post_notifications_on">Ilmoitukset käyttäjän %s viesteistä otettu käyttöön</string>
<string name="sk_federated_timeline">Yleinen</string>
<string name="sk_delete_notification_confirm_action">Poista ilmoitus</string>
<string name="sk_settings_content_types_explanation">Mahdollistaa viestien sisältötyypin valinnan, esimerkiksi Markdown. Kaikki instanssit eivät tue tätä.</string>
<string name="sk_bubble_timeline_info_banner">Nämä ovat uusimmat viestit ihmisiltä, joiden tilejä sinun instanssisi isännöi.</string>
<string name="sk_settings_publish_button_text_title">Muokkaa Julkaise-painikkeen tekstiä</string>
<string name="sk_no_remote_info_hint">etäinfoa ei saatavilla</string>
<string name="sk_reject_follow_request">Hylkää seuraamispyyntö</string>
<string name="sk_settings_translation_availability_note_unavailable">%s ei näytä tukevan käännöksiä.</string>
<string name="sk_error_loading_profile">Profiilin lataaminen %s:n kautta epäonnistui</string>
<string name="sk_settings_enable_marquee">Salli tekstin rullaus otsikkolistoissa</string>
<string name="sk_loading_resource_on_instance_title">Etsitään %ssta</string>
<string name="sk_settings_allow_remote_loading_explanation">Yritä hakea tarkempia tietoja seuraajista, tykkäyksistä ja tehostuksista lataamalla tiedot alkuperäiseltä instanssilta.</string>
<string name="sk_hashtags_you_follow">Aihetunnisteet joita seuraat</string>
<string name="sk_bookmarked_as">Kirjamerkki tehty tilille %s</string>
<string name="sk_reblog_as">Tehosta toisena tilinä</string>
<string name="sk_settings_uniform_icon_for_notifications">Sama kuvake kaikille ilmoituksille</string>
<string name="sk_confirm_delete_scheduled_post">Oletko varma, että haluat poistaa tämän ajastetun julkaisun\?</string>
<string name="sk_compose_draft">Julkaisu tallennetaan luonnoksena.</string>
<string name="sk_scheduled_too_soon">Julkaisu on ajastettava vähintään 10 minuuttia tulevaisuuteen.</string>
<string name="sk_confirm_unpin_post">Oletko varma että haluat irrottaa tämän viestin\?</string>
<string name="sk_settings_unifiedpush_no_distributor_body">On asennettava jakelijaohjelma jotta UnifiedPush-ilmoitukset toimivat. Lisätietoja: https://unifiedpush.org/</string>
<string name="sk_settings_emoji_reactions_explanation">Näyttää viestien emojireaktiot ja mahdollistaa vuorovaikutuksen niiden kanssa. Jotkin Mastodonin muokatut versiot tukevat tätä, mutta Mastodon ei.</string>
<string name="sk_recent_searches_placeholder">Hae kirjoittamalla tähän</string>
<string name="sk_alt_text_missing">Selitys puuttuu vähintään yhdestä liitteestä.</string>
<string name="sk_pinned_timeline">Kiinnitetty kotinäyttöön</string>
<string name="sk_icon_coffee">Kahvi</string>
<string name="sk_icon_news">Uutiset</string>
<string name="sk_icon_clapper_board">Klaffitaulu</string>
<string name="sk_icon_pizza">Pitsa</string>
<string name="sk_icon_recycle_bin">Roskakori</string>
<string name="sk_edit_timelines">Muokkaa aikananoja</string>
<string name="sk_edit_timeline_tags_explanation">Ota huomioon, että palvelin tekee nämä operaatiot. Niiden yhdistelyä ei välttämättä tueta.</string>
<string name="sk_notify_update">Tämä muokkaa tehostettua viestiä</string>
<string name="sk_save_draft_message">Haluatko tallentaa muutokset tähän luonnokseen vai julkaista sen nyt\?</string>
<string name="sk_settings_support_local_only">Palvelin tukee paikallista julkaisemista</string>
<string name="sk_settings_continues_playback_summary">Anna mediatoiston jatkua lisäten uusi raita</string>
<string name="sk_quoting_user">Lainaus %s</string>
</resources>
</resources>

View File

@@ -29,7 +29,7 @@
<string name="sk_settings_always_reveal_content_warnings">Toujours afficher les avertissements de contenu</string>
<string name="sk_settings_enable_marquee">Désactiver le défilement du texte dans les barres de titre</string>
<string name="sk_settings_contribute">Contribuez à Megalodon</string>
<string name="sk_settings_show_federated_timeline">Afficher le fil fédéré</string>
<string name="sk_settings_show_federated_timeline">Afficher la timeline fédérée</string>
<string name="sk_app_name">Megalodon</string>
<string name="sk_delete_and_redraft">Supprimer et rééditer</string>
<string name="sk_pin_post">Épingler au profil</string>
@@ -141,7 +141,7 @@
<string name="sk_delete_list_confirm">Êtes-vous sûr de vouloir supprimer la liste \"%s\" \?</string>
<string name="sk_your_lists">Vos listes</string>
<string name="sk_timeline_federated">Fédération</string>
<string name="sk_timeline_local">Local</string>
<string name="sk_timeline_local">Communauté</string>
<string name="sk_timeline_home">Accueil</string>
<string name="sk_recent_searches_placeholder">Écrivez pour lancer la recherche</string>
<string name="sk_do_remove_follower">Supprimer</string>
@@ -149,28 +149,28 @@
<string name="sk_changelog">Journal des modifications</string>
<string name="sk_remove_follower_confirm">Supprimer %s en tant qu\'abonné en le bloquant et en le débloquant immédiatement \?</string>
<string name="sk_remove_follower">Supprimer comme abonné</string>
<string name="sk_unpin_timeline">Détacher le fil</string>
<string name="sk_unpin_timeline">Détacher la timeline</string>
<string name="sk_alt_text_missing_title">Texte alternatif manquant</string>
<string name="sk_alt_text_missing">Au moins une pièce jointe ne contient pas de description.</string>
<string name="sk_publish_anyway">Publier quand même</string>
<string name="sk_notify_posts_info_banner">Si vous activez les notifications de message pour certaines personnes, leurs nouveaux messages apparaîtront ici.</string>
<string name="sk_timelines">Fils</string>
<string name="sk_timelines">Chronologies</string>
<string name="sk_timeline_posts">Messages</string>
<string name="sk_timelines_add">Ajouter</string>
<string name="sk_timeline">Fil</string>
<string name="sk_timeline">Chronologie</string>
<string name="sk_list">Liste</string>
<string name="sk_hashtag">Hashtag</string>
<string name="sk_pin_timeline">Épingler le fil</string>
<string name="sk_pin_timeline">Épingler la timeline</string>
<string name="sk_unpinned_timeline">Détachée de l\'accueil</string>
<string name="sk_pinned_timeline">Épinglé à laccueil</string>
<string name="sk_pinned_timeline">Épinglée à l\'accueil</string>
<string name="sk_remove">Supprimer</string>
<string name="sk_timeline_icon">Icône</string>
<string name="sk_icon_heart">Cœur</string>
<string name="sk_icon_star">Favoris</string>
<string name="sk_edit_timelines">Modifier les fils</string>
<string name="sk_edit_timelines">Modifier les timelines</string>
<string name="sk_alt_button">ALT</string>
<string name="sk_post_edited">édité</string>
<string name="sk_edit_timeline">Modifier le fil</string>
<string name="sk_edit_timeline">Modifier la timeline</string>
<string name="sk_notify_update">Modifier un article boosté</string>
<string name="sk_settings_disable_alt_text_reminder">Désactiver le rappel pour ajouter du texte alternatif</string>
<string name="sk_notification_type_update">Messages modifiés</string>
@@ -290,7 +290,7 @@
<string name="sk_open_in_app">Ouvrir dans l\'application</string>
<string name="sk_external_share_title">Partager avec le compte</string>
<string name="sk_external_share_or_open_title">Partager ou ouvrir avec le compte</string>
<string name="sk_bubble_timeline_info_banner">Ce sont les messages les plus récents du réseau organisés par les administrateur·rice·s de votre instance.</string>
<string name="sk_bubble_timeline_info_banner">Ce sont les messages les plus récents du réseau organisés par vos administrateurs d\'instance.</string>
<string name="sk_timeline_bubble">Bulle</string>
<string name="sk_instance_info_unavailable">Informations sur l\'instance temporairement indisponibles</string>
<string name="sk_open_in_app_failed">Impossible de l\'ouvrir dans l\'application</string>
@@ -311,7 +311,7 @@
<string name="sk_icon_doctor">Docteur</string>
<string name="sk_icon_diamond">Diamant</string>
<string name="sk_icon_umbrella">Parapluie</string>
<string name="sk_add_timeline">Ajouter un fil</string>
<string name="sk_add_timeline">Ajouter une timeline</string>
<string name="sk_edit_timeline_tag_any">… ou l\'un d\'entre eux</string>
<string name="sk_edit_timeline_tag_all">… et chacun d\'entre eux</string>
<string name="sk_edit_timeline_tag_none">… mais aucun d\'entre eux</string>
@@ -327,11 +327,11 @@
<string name="sk_edit_timeline_tag_hint">Entrez le hashtag…</string>
<string name="sk_edit_timeline_tags_explanation">Veuillez noter que le serveur gère ces opérations. Les combiner peut ne pas être prise en charge.</string>
<string name="sk_exclusive_list">Liste exclusive</string>
<string name="sk_list_exclusive_switch_explanation">Les membres d\'une liste exclusive n\'apparaîtront pas sur votre fil principal - si votre instance le prend en charge.</string>
<string name="sk_list_exclusive_switch_explanation">Les membres d\'une liste exclusive n\'apparaîtront pas sur votre chronologie personnelle - si votre instance le prend en charge.</string>
<string name="sk_icon_feed">Flux</string>
<string name="sk_spoiler_show">Montrer le contenu</string>
<string name="sk_pronouns_label">Pronoms</string>
<string name="sk_switch_timeline">Changer de fil</string>
<string name="sk_switch_timeline">Changer la chronologie</string>
<string name="sk_settings_instance">Instance</string>
<string name="sk_settings_true_black">Mode noir absolu</string>
<string name="sk_gif_badge">GIF</string>
@@ -379,18 +379,4 @@
<item quantity="many">messages</item>
<item quantity="other">messages</item>
</plurals>
<string name="sk_settings_show_emoji_reactions_only_opened">Uniquement lorsque le message est ouvert</string>
<string name="sk_settings_show_emoji_reactions_always">Toujours afficher le bouton Ajouter</string>
<string name="sk_search_suicide_hotlines">Trouver un numéro d\'assistance</string>
<string name="sk_do_not_show_again">Ne plus afficher</string>
<string name="sk_suicide_helplines_url">https://findahelpline.com/fr</string>
<string name="sk_post_contains_media">Le message contient des médias</string>
<string name="sk_load_missing_posts_newest_first">Le plus récent en premier (descendant)</string>
<string name="sk_load_missing_posts_oldest_first">Le plus ancien en premier (ascendant)</string>
<string name="sk_settings_load_missing_posts">Comportement lors du chargement des messages manquants</string>
<string name="sk_settings_show_emoji_reactions">Afficher les réactions emoji dans les fils</string>
<string name="sk_settings_show_emoji_reactions_hide_empty">Masquer les réactions emoji vides</string>
<string name="sk_suicide_search_terms">Suicide</string>
<string name="sk_search_suicide_title">Dans le cas où vous seriez en détresse…</string>
<string name="sk_search_suicide_message">Si vous cherchez un signe pour ne pas vous suicider, le voici. Si vous êtes en détresse et/ou avez des pensées suicidaires, si vous voulez aider une personne en souffrance, vous pouvez contacter une ligne d\'assistance de prévention du suicide.</string>
</resources>

View File

@@ -1,314 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sk_filtered">Criathraichte: %s</string>
<string name="sk_collapse">Co-theannaich</string>
<string name="sk_poll_allow_multiple">Ceadaich iomadh roghainn</string>
<string name="sk_pinned_posts">Prìnichte</string>
<string name="sk_clear_recent_languages">Falamhaich na cànain o chionn goirid</string>
<string name="sk_app_name">Megalodon</string>
<string name="sk_pin_post">Prìnich ris a phròifil</string>
<string name="sk_settings_always_reveal_content_warnings">Leudaich rabhaidhean susbainte an-còmhnaidh</string>
<string name="sk_bookmark_as">Cuir ris na comharran-lìn aig cunntas eile</string>
<string name="sk_translate_show_original">Seall an tionndadh tùsail</string>
<string name="sk_translated_using">Air eadar-theangachadh le %s</string>
<string name="sk_settings_color_palette">Pailead nan dathan</string>
<string name="sk_delete_notification">Sguab às am brath</string>
<string name="sk_delete_notification_confirm_action">Sguab às am brath</string>
<string name="sk_settings_translation_availability_note_available">Tha %s a cur taic ri eadar-theangachadh!</string>
<string name="sk_settings_translation_availability_note_unavailable">Chan eil %s a cur taic ri eadar-theangachadh a-rèir coltais.</string>
<string name="sk_clear_all_notifications">Falamhaich a h-uile brath</string>
<string name="sk_clear_all_notifications_confirm_action">Sguab às na h-uile</string>
<string name="sk_clear_all_notifications_confirm">A bheil thu cinnteach gu bheil thu airson gach brath fhalamhachadh\?</string>
<string name="sk_loading_fediverse_resource_title">Ga lorg air a cho-shaoghal</string>
<string name="sk_undo_reblog">Na brosnaich tuilleadh</string>
<string name="sk_forward_report_to">Sìn air adhart gu %s</string>
<string name="sk_settings_prefix_replies_always">Ann am freagairtean gu duine sam bith</string>
<string name="sk_settings_prefix_replies_to_others">Ann am freagairtean do chàch a-mhàin</string>
<string name="sk_confirm_save_draft">A bheil thu airson a shàbhaladh na dhreachd\?</string>
<string name="sk_icon_beaker">Bìocar</string>
<string name="sk_icon_doctor">Dotair</string>
<string name="sk_icon_diamond">Daoimean</string>
<string name="sk_icon_umbrella">Sgàilean</string>
<string name="sk_add_timeline">Cuir loidhne-ama ris</string>
<string name="sk_edit_timeline_tag_main">Postaichean sa bheil taga hais…</string>
<string name="sk_edit_timeline_tag_any">… no gin sam bith dhen fheadhainn seo</string>
<string name="sk_edit_timeline_tag_all">s gach fear dhen fheadhainn seo</string>
<string name="sk_schedule_or_draft">Sgeideal no dreachd</string>
<string name="sk_content_type">Seòrsa na susbainte</string>
<string name="sk_settings_reduce_motion">Ìslich an gluasad sna beòthachaidhean</string>
<string name="sk_announcements">Brathan-fios</string>
<string name="sk_mark_as_read">Cuir comharra gun deach a leughadh</string>
<string name="sk_settings_about_instance">Mun ionstans</string>
<string name="sk_recent_searches_placeholder">Sgrìobh rud a thòiseachadh air lorg</string>
<string name="sk_remove_follower">Thoir an neach-leantainn air falbh</string>
<string name="sk_do_remove_follower">Thoir air falbh</string>
<string name="sk_icon_city">Baile</string>
<string name="sk_icon_cat">Cat</string>
<string name="sk_icon_dog"></string>
<string name="sk_icon_rabbit">Coineanach</string>
<string name="sk_icon_clapper_board">Bòrd-braig</string>
<string name="sk_icon_leaves">Duilleach</string>
<string name="sk_edit_timelines">Deasaich na loidhnichean-ama</string>
<string name="sk_alt_button">ALT</string>
<string name="sk_post_edited">air a dheasachadh</string>
<string name="sk_icon_pin">Prìne</string>
<string name="sk_notification_type_update">Postaichean air an deasachadh</string>
<string name="sk_searching">Ga lorg…</string>
<string name="sk_settings_see_new_posts_button">Putan “Seall na postaichean ùra”</string>
<string name="sk_icon_feed">Inbhir</string>
<string name="sk_settings_hide_interaction">Falaich putanan na h-eadar-ghabhail</string>
<string name="sk_settings_enable_marquee">Cuir an comas sgroladh teacsa air bàraichean-tiotail</string>
<string name="sk_quoting_user">A toirt iomradh air %s</string>
<string name="sk_draft">Dreachd</string>
<string name="sk_settings_continues_playback">Tar-chòmhdachadh fuaime</string>
<string name="sk_settings_continues_playback_summary">Leig le meadhanan a tha gan cluich cumail a dol thairis air a chluiche ùr</string>
<string name="sk_settings_load_new_posts">Luchdaich postaichean ùra gu fèin-obrachail</string>
<string name="sk_settings_show_interaction_counts">Seall cunntas na h-eadar-ghabhail</string>
<string name="sk_settings_app_version">Megalodon v%1$s (%2$d)</string>
<string name="sk_mark_media_as_sensitive">Cuir comharra gu bheil am meadhan frionasach</string>
<string name="sk_federated_timeline">Co-nasgadh</string>
<string name="sk_alt_text_missing_title">Tha roghainn teacsa a dhìth</string>
<string name="sk_alt_text_missing">Tha ceanglachan no dhà gun tuairisgeul ann.</string>
<string name="sk_publish_anyway">Foillsich e co-dhiù</string>
<string name="sk_settings_disable_alt_text_reminder">Cuir an cuimhneachan air roghainn teacsa dheth</string>
<string name="sk_notify_posts_info_banner">Ma chuireas tu brathan puist an comas do chuid, nochdaidh na postaichean ùra aca an-seo.</string>
<string name="sk_timelines">Loidhnichean-ama</string>
<string name="sk_timeline_posts">Postaichean</string>
<string name="sk_timelines_add">Cuir ris</string>
<string name="sk_timeline">Loidhne-ama</string>
<string name="sk_list">Liosta</string>
<string name="sk_hashtag">Taga hais</string>
<string name="sk_pin_timeline">Prìnich an loidhne-ama</string>
<string name="sk_unpin_timeline">Dì-phrìnich an loidhne-ama</string>
<string name="sk_pinned_timeline">Prìnichte ris an dachaigh</string>
<string name="sk_unpinned_timeline">Dì-phrìnichte on dachaigh</string>
<string name="sk_remove">Thoir air falbh</string>
<string name="sk_timeline_icon">Ìomhaigheag</string>
<string name="sk_icon_heart">Cridhe</string>
<string name="sk_gif_badge">GIF</string>
<string name="sk_notify_update">Post brosnaichte air a dheasachadh</string>
<string name="sk_attach_file">Ceangail faidhle ris</string>
<string name="sk_no_results">Gun toradh</string>
<string name="sk_save_draft">A bheil thu airson a shàbhaladh na dhreachd\?</string>
<string name="sk_save_draft_message">A bheil thu airson na h-atharraichean agad a shàbhaladh nan dreachd no am foillseachadh an-dràsta\?</string>
<string name="sk_no_alt_text">Chan eil roghainn teacsa ri fhaighinn</string>
<string name="sk_settings_show_alt_indicator">Taisbeanair dhan roghainn teacsa</string>
<string name="sk_settings_show_no_alt_indicator">Taisbeanair do roghainn teacsa a dhìth</string>
<string name="sk_updater_enable_pre_releases">Cuir na ro-sgaoilidhean an comas</string>
<string name="sk_inline_local_only">ionadail a-mhàin</string>
<string name="sk_inline_direct">le iomradh ort a-mhàin</string>
<string name="sk_separator">·</string>
<string name="sk_local_only">An t-ionstans ionadail a-mhàin</string>
<string name="sk_instance_features">Gleusan an ionstans</string>
<string name="sk_settings_support_local_only">Cuiridh am frithealaiche taic ri postadh gu h-ionadail</string>
<string name="sk_settings_local_only_explanation">Feumaidh an ionstans-dachaigh agad taic a chur ri postaichean a bhios ionadail a-mhàin. Cuiridh a mhòrchuid de thionndaidhean atharraichte de Mhastdon taic ri seo ach cha chuir Mastodon àbhaisteach.</string>
<string name="sk_settings_glitch_instance">Modh ionadail a-mhàin aig Glitch</string>
<string name="sk_settings_glitch_mode_explanation">Cuir seo an comas ma tha an t-ionstans-dachaigh agad a ruith Glitch. Chan eil feum air seo airson Hometown no Akkoma.</string>
<string name="sk_content_type_html">HTML</string>
<string name="sk_settings_confirm_before_reblog">Dearbh mus dèan thu brosnachadh</string>
<string name="sk_language_name">%1$s (%2$s)</string>
<string name="sk_reblog_as">Brosnaich le cunntas eile</string>
<string name="sk_compact_reblog_reply_line">Loidhne brosnachaidh/freagairt dhùmhlaichte</string>
<string name="sk_bubble_timeline_info_banner">Seo na postaichean as ùire on lìonra a tha rianairean an ionstans agad a curaideachadh.</string>
<string name="sk_accept_follow_request">Gabh ris an iarrtas leantainn</string>
<string name="sk_reject_follow_request">Diùlt an t-iarrtas leantainn</string>
<string name="sk_lists_with_user">Liostaichean le %s</string>
<string name="sk_color_palette_pink">Pinc</string>
<string name="sk_color_palette_purple">Purpaidh</string>
<string name="sk_color_palette_green">Uaine</string>
<string name="sk_color_palette_blue">Gorm</string>
<string name="sk_color_palette_brown">Donn</string>
<string name="sk_color_palette_red">Dearg</string>
<string name="sk_color_palette_yellow">Buidhe</string>
<string name="sk_confirm_clear_recent_languages">A bheil thu cinnteach gu bheil thu airson na cànain o chionn goirid fhalamhachadh\?</string>
<string name="sk_welcome_title">Fàilte!</string>
<string name="sk_welcome_text">Tha an cearban gad fhàilteachadh! Airson tòiseachadh, cuir a-steach ainm àrainne an ionstans-dhachaigh agad gu h-ìosal.</string>
<string name="sk_example_domain">ball-eisimpleir.social</string>
<string name="sk_settings_profile">Suidhich pròifil</string>
<string name="sk_settings_posting">Roghainnean postaidh</string>
<string name="sk_settings_filters">Rèitich na criathragan</string>
<string name="sk_settings_auth">Roghainnean tèarainteachd</string>
<string name="sk_settings_rules">Riaghailtean</string>
<string name="sk_settings_publish_button_text">Teacsa a phutain-fhoillseachaidh</string>
<string name="sk_settings_publish_button_text_title">Gnàthaich teacsa a phutain-fhoillseachaidh</string>
<string name="sk_icon_megaphone">Meaga-fòn</string>
<string name="sk_icon_microphone">Micreofon</string>
<string name="sk_icon_microscope">Micreosgop</string>
<string name="sk_icon_keyboard">Meur-chlàr</string>
<string name="sk_icon_coffee">Cofaidh</string>
<string name="sk_icon_laugh">Gàire</string>
<string name="sk_icon_news">Naidheachdan</string>
<string name="sk_icon_pi">Pi</string>
<string name="sk_icon_color_palette">Pailead nan dathan</string>
<string name="sk_icon_academic_cap">Currac sgoilearachd</string>
<string name="sk_icon_tag">Taga</string>
<string name="sk_icon_stethoscope">Steatasgop</string>
<string name="sk_icon_weather">Aimsir</string>
<string name="sk_icon_games">Geamannan</string>
<string name="sk_icon_code">Còd</string>
<string name="sk_icon_light_bulb">Bolgan solais</string>
<string name="sk_icon_train">Trèana</string>
<string name="sk_icon_sport">Spòrs</string>
<string name="sk_edit_timeline_tags_explanation">Thoir an aire gur e am frithealaiche a làimhsicheas na gnìomhan seo. Dhfhaoidte nach obraich an cur ri chèile aca.</string>
<string name="sk_hashtag_timeline_local_only_switch">A bheil thu airson na postaichean ionadail a shealltainn a-mhàin\?</string>
<string name="sk_add_timeline_tag_error_empty">Chan fhaod an taga hais a bhith falamh</string>
<string name="sk_signed_up">air a chlàradh</string>
<string name="sk_reported">air gearan a dhèanamh</string>
<string name="sk_reacted_with">Fhreagair %1$s le %2$s</string>
<string name="sk_reacted">Fhreagair %s</string>
<string name="sk_sign_ups">Cleachdaichean a clàradh</string>
<string name="sk_new_reports">Gearanan ùra</string>
<string name="sk_notify_poll_results">Toraidhean cunntais-bheachd</string>
<string name="sk_settings_prefix_reply_cw_with_re">Cuir ro-leasachan “re:” ris an rabhadh susbainte nuair a bhios tu a freagairt</string>
<string name="sk_expand">Leudaich</string>
<string name="sk_settings_collapse_long_posts">Co-theannaich postaichean glè fhada</string>
<string name="sk_unfinished_attachments">A bheil thu airson na ceanglachain a chàradh\?</string>
<string name="sk_unfinished_attachments_message">Chan eil luchdadh suas nan ceanglachan uile deiseil.</string>
<string name="sk_follow_as">Lean le cunntas eile</string>
<string name="sk_followed_as">Ga leantainn le %s</string>
<string name="sk_settings_hide_fab">Falaich putan an sgrìobhaidh gu fèin-obrachail</string>
<string name="sk_notification_action_replied">Chaidh freagairt a chur gu %s</string>
<string name="sk_in_reply">San fhreagairt</string>
<string name="sk_reply_line_above_avatar">Loidhne nam freagairtean os cionn an avatar</string>
<string name="sk_show_thread">Seall an snàithlean</string>
<string name="sk_content_type_unspecified">Cha deach a shònrachadh</string>
<string name="sk_content_type_plain">Teacsa lom</string>
<string name="sk_content_type_markdown">Markdown</string>
<string name="sk_content_type_bbcode">BBCode</string>
<string name="sk_content_type_mfm">MFM</string>
<string name="sk_settings_content_types">Cuir fòrmatadh nam postaichean an comas</string>
<string name="sk_settings_server_version">Tionndadh an fhrithealaiche: %s</string>
<string name="sk_delete_and_redraft">Sguab às is dèan dreachd ùr air</string>
<string name="sk_confirm_delete_and_redraft_title">Sguab às is dèan dreachd ùr air a phost</string>
<string name="sk_confirm_delete_and_redraft">A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às s dreachd ùr a dhèanamh air\?</string>
<string name="sk_confirm_pin_post_title">Prìnich am post ris a phròifil</string>
<string name="sk_confirm_pin_post">A bheil thu airson am post seo a phrìneachadh ris a phròifil agad\?</string>
<string name="sk_pinning">A prìneachadh a phuist…</string>
<string name="sk_unpin_post">Dì-phrìnich on phròifil</string>
<string name="sk_confirm_unpin_post_title">Dì-phrìnich am post on phròifil</string>
<string name="sk_confirm_unpin_post">A bheil thu cinnteach gu bheil thu airson am post seo a dì-phrìneachadh\?</string>
<string name="sk_unpinning">A dì-phrìneachadh a phuist…</string>
<string name="sk_image_description">Tuairisgeul an deilbh</string>
<string name="sk_visibility_unlisted">Falaichte o liostaichean</string>
<string name="sk_settings_show_replies">Seall na freagairtean</string>
<string name="sk_settings_reply_visibility">Faicsinneach nam freagairtean</string>
<string name="sk_settings_reply_visibility_all">A h-uile freagairt</string>
<string name="sk_settings_reply_visibility_following">Freagairtean dhan luchd-leantainn agam</string>
<string name="sk_settings_reply_visibility_self">Freagairtean dhomhsa</string>
<string name="sk_settings_show_boosts">Seall na brosnachaidhean</string>
<string name="sk_user_post_notifications_on">Chuir thu brathan nam post air dha %s</string>
<string name="sk_user_post_notifications_off">Chuir thu brathan nam post dheth dha %s</string>
<string name="sk_federated_timeline_info_banner">Seo na postaichean as ùire leis na daoine sa cho-nasgadh agad.</string>
<string name="sk_update_available">Tha Megalodon %s deiseil ri luchdadh a-nuas.</string>
<string name="sk_update_ready">Chaidh Megalodon %s a luchdadh a-nuas is tha e deiseil ri stàladh.</string>
<string name="sk_check_for_update">Thoir sùil airson ùrachadh</string>
<string name="sk_no_update_available">Chan eil ùrachadh ri fhaighinn</string>
<string name="sk_list_timelines">Liostaichean</string>
<string name="sk_follow_requests">Iarrtasan leantainn</string>
<string name="sk_settings_contribute">Cuidich le leasachadh Megalodon</string>
<string name="sk_settings_show_federated_timeline">Seall an loidhne-ama cho-naisgte</string>
<string name="sk_notification_type_status">Postaichean</string>
<string name="sk_notification_type_posts">Brathan puist</string>
<string name="sk_color_palette_material3">An siostam</string>
<string name="sk_translate_post">Eadar-theangaich</string>
<string name="sk_post_language">Cànan: %s</string>
<string name="sk_available_languages">Cànain ri am faighinn</string>
<string name="sk_settings_tabs_disable_swipe">Cuir grad-shlaighdeadh eadar tabaichean à comas</string>
<string name="sk_settings_about">Mun aplacaid</string>
<string name="sk_settings_donate">Thoir tabhartas dhuinn</string>
<string name="sk_delete_notification_confirm">A bheil thu cinnteach gu bheil thu airson am brath seo a sguabadh às\?</string>
<string name="sk_settings_enable_delete_notifications">Cuir sguabadh às nam brathan an comas</string>
<string name="sk_settings_translate_only_opened">Na eadar-theangaich ach postaichean a chaidh fhosgladh</string>
<string name="sk_loading_resource_on_instance_title">Ga lorg air %s</string>
<string name="sk_reblogged_as">Chaidh a bhrosnachadh mar %s</string>
<string name="sk_reblog_with_visibility">Brosnaich le so-fhaicsinneachd</string>
<string name="sk_quote_post">Postaich mu dhèidhinn seo</string>
<string name="sk_hashtags_you_follow">Tagaichean hais gan leantainn</string>
<string name="sk_copy_link_to_post">Dèan lethbhreac dhen cheangal dhan phost</string>
<string name="sk_open_with_account">Fosgail le cunntas eile</string>
<string name="sk_resource_not_found">Cha deach an goireas a lorg</string>
<string name="sk_bookmarked_as">Chaidh a chur ris na comharran-lìn mar %s</string>
<string name="sk_already_bookmarked">Tha seo na chomharra-lìn mu thràth</string>
<string name="sk_favorite_as">Cuir ris na h-annsachdan aig cunntas eile</string>
<string name="sk_favorited_as">Chaidh a chur ris na h-annsachdan mar %s</string>
<string name="sk_already_favorited">Tha seo na annsachd mu thràth</string>
<string name="sk_already_reblogged">Tha seo ga bhrosnachadh mu thràth</string>
<string name="sk_reply_as">Freagair le cunntas eile</string>
<string name="sk_settings_uniform_icon_for_notifications">Ìomhaigheag chunbhalach dhan a h-uile brath</string>
<string name="sk_unsent_posts">Postaichean gun chur</string>
<string name="sk_schedule">Sgeidealaich</string>
<string name="sk_confirm_delete_draft_title">Sguab às an dreachd</string>
<string name="sk_confirm_delete_draft">A bheil thu cinnteach gu bheil thu airson an dreachd seo a sguabadh às\?</string>
<string name="sk_confirm_delete_scheduled_post_title">Sguab às am post sgeidealaichte</string>
<string name="sk_confirm_delete_scheduled_post">A bheil thu cinnteach gu bheil thu airson am post sgeidealaichte seo a sguabadh às\?</string>
<string name="sk_draft_or_schedule">Dèan dreachd no sgeidealaich</string>
<string name="sk_compose_draft">Thèid am post a shàbhaladh mar dhreachd.</string>
<string name="sk_compose_scheduled">Air an sgeideal</string>
<string name="sk_draft_saved">Chaidh an dreachd a shàbhaladh</string>
<string name="sk_post_scheduled">Chaidh am post a chur air an sgeideal</string>
<string name="sk_scheduled_too_soon_title">Tha àm an sgeideil ro thràth</string>
<string name="sk_scheduled_too_soon">Feumaidh post sgeidealaichte a bhith 10 mionaidean san àm ri teachd air a char as tràithe.</string>
<string name="sk_confirm_save_changes">A bheil thu airson na dhatharraich thu a shàbhaladh\?</string>
<string name="sk_mark_as_draft">Cuir comharra gur e dreachd a th ann</string>
<string name="sk_schedule_post">Cuir am post air an sgeideal</string>
<string name="sk_compose_no_schedule">Na cuir air an sgeideal</string>
<string name="sk_compose_no_draft">Na dèan dreachd dheth</string>
<string name="sk_settings_single_notification">Na seall ach aon bhrath</string>
<string name="sk_settings_unifiedpush">Cleachd UnifiedPush</string>
<string name="sk_settings_unifiedpush_choose">Tagh sgaoileadair</string>
<string name="sk_settings_unifiedpush_no_distributor">Cha deach sgaoileadair a lorg</string>
<string name="sk_settings_unifiedpush_no_distributor_body">Feumaidh tu sgaoileadair a stàladh mus obraich brathan le UnifiedPush. Airson barrachd fiosrachaidh, tadhail air https://unifiedpush.org/</string>
<string name="sk_create">Cruthaich</string>
<string name="sk_create_list_title">Cruthaich liosta</string>
<string name="sk_list_name_hint">Ainm na liosta</string>
<string name="sk_list_replies_policy">Seall na freagairtean gu</string>
<string name="sk_list_replies_policy_list">buill na liosta</string>
<string name="sk_list_replies_policy_followed">cleachdaichean a leanas tu</string>
<string name="sk_list_replies_policy_none">na seall idir</string>
<string name="sk_delete_list">Sguab às an liosta</string>
<string name="sk_delete_list_confirm">A bheil thu cinnteach gu bheil thu airson an liosta “%s” a sguabadh às\?</string>
<string name="sk_edit_list_title">Deasaich an liosta</string>
<string name="sk_your_lists">Na liostaichean agad</string>
<string name="sk_timeline_home">Dachaigh</string>
<string name="sk_timeline_local">Ionadail</string>
<string name="sk_timeline_federated">Co-nasgadh</string>
<string name="sk_timeline_bubble">Do cuideachd</string>
<string name="sk_remove_follower_confirm">A bheil thu airson %s a thoirt air falbh na neach-leantainn le bacadh s dì-bhacadh sa bhad\?</string>
<string name="sk_remove_follower_success">Chaidh an neach-leantainn a thoirt air falbh</string>
<string name="sk_changelog">Loga nan atharraichean</string>
<string name="sk_icon_star">Rionnag</string>
<string name="sk_icon_turtle">Turtar</string>
<string name="sk_icon_balloon">Bailiùn</string>
<string name="sk_icon_image">Dealbh</string>
<string name="sk_icon_bot">Bot</string>
<string name="sk_icon_language">Cànan</string>
<string name="sk_icon_location">Ionad</string>
<string name="sk_icon_aperture">Fosgladh</string>
<string name="sk_icon_music">Ceòl</string>
<string name="sk_icon_people">Daoine</string>
<string name="sk_icon_health">Slàinte</string>
<string name="sk_icon_important">Cudromach</string>
<string name="sk_icon_chat">Cabadaich</string>
<string name="sk_icon_shield">Sgiath</string>
<string name="sk_icon_book">Leabhar</string>
<string name="sk_icon_bicycle">Baidhseagal</string>
<string name="sk_icon_map">Mapa</string>
<string name="sk_icon_math_formula">Foirmle matamataig</string>
<string name="sk_icon_backpack">Màla-droma</string>
<string name="sk_icon_briefcase">Màileid-oifise</string>
<string name="sk_icon_fire">Teine</string>
<string name="sk_icon_bug">Biastag</string>
<string name="sk_icon_pizza">Pizza</string>
<string name="sk_icon_gavel">Casar</string>
<string name="sk_icon_gauge">Gèidse</string>
<string name="sk_icon_headphones">Cluais-fhòn</string>
<string name="sk_icon_human">Daonna</string>
<string name="sk_icon_globe">Cruinne</string>
<string name="sk_icon_bed">Leabaidh</string>
<string name="sk_icon_recycle_bin">Biona ath-chuairteachaidh</string>
<string name="sk_icon_verified">Air a dhearbhadh</string>
<string name="sk_edit_timeline">Deasaich an loidhne-ama</string>
<string name="sk_edit_timeline_tag_none">… ach gun gin sam bith dhen fheadhainn seo</string>
<string name="sk_edit_timeline_tag_hint">Cuir a-steach taga hais…</string>
<string name="sk_edit_timeline_tags_hint">Cuir a-steach tagaichean hais…</string>
</resources>
</resources>

View File

@@ -387,7 +387,6 @@
<string name="welcome_to_mastodon">Benvenuto/a su Mastodon</string>
<string name="welcome_paragraph1">Mastodon è un social network decentralizzato, il che significa che nessuna singola azienda lo controlla. È composto da molti server indipendenti e tutti connessi insieme.</string>
<string name="what_are_servers">Cosa sono i server?</string>
<string name="welcome_paragraph2">Ogni account Mastodon è ospitato su un server — ognuno con i propri valori, regole, &amp; amministratori. Non importa quale scegliere, è possibile seguire e interagire con persone su altri server.</string>
<string name="opening_link">Apertura del collegamento…</string>
<string name="link_not_supported">Questo collegamento non è supportato nell\'app</string>
<string name="log_out_all_accounts">Esci da tutti gli account</string>

View File

@@ -1,294 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sk_pinned_posts">固定</string>
<string name="sk_delete_and_redraft">削除して再編集</string>
<string name="sk_confirm_delete_and_redraft_title">投稿を削除して再編集</string>
<string name="sk_confirm_delete_and_redraft">本当にこの投稿を削除して再編集しますか?</string>
<string name="sk_pin_post">プロファイルに固定</string>
<string name="sk_confirm_pin_post_title">投稿をプロフィールに固定</string>
<string name="sk_confirm_pin_post">この投稿をあなたのプロフィールに固定しますか?</string>
<string name="sk_pinning">投稿を固定しています…</string>
<string name="sk_unpin_post">プロフィールへの固定を解除</string>
<string name="sk_confirm_unpin_post_title">プロフィールへの投稿の固定を解除</string>
<string name="sk_confirm_unpin_post">本当にこの投稿の固定を解除しますか?</string>
<string name="sk_unpinning">投稿の固定を解除しています…</string>
<string name="sk_image_description">画像の説明</string>
<string name="sk_visibility_unlisted">未収載</string>
<string name="sk_settings_show_replies">返信を表示</string>
<string name="sk_settings_reply_visibility">返信の公開範囲</string>
<string name="sk_settings_reply_visibility_all">すべての返信</string>
<string name="sk_settings_continues_playback">音声のオーバーレイ</string>
<string name="sk_settings_continues_playback_summary">既に再生されているメディアを停止することなく、新たなメディアを再生できるようにします</string>
<string name="sk_duration_days_7">7日</string>
<string name="sk_duration_days_3">3日</string>
<string name="sk_duration_days_1">1日</string>
<string name="sk_duration_hours_6">6時間</string>
<string name="sk_duration_hours_1">1時間</string>
<string name="sk_duration_minutes_30">30分</string>
<string name="sk_duration_minutes_5">5分</string>
<string name="sk_duration_indefinite">無期限</string>
<string name="sk_button_react">絵文字で反応</string>
<string name="sk_mute_label">期間</string>
<string name="sk_settings_emoji_reactions">絵文字リアクションを有効にする</string>
<string name="sk_notification_type_status">投稿</string>
<string name="sk_timeline_home">ホーム</string>
<string name="sk_translate_post">翻訳</string>
<string name="sk_translate_show_original">オリジナルを表示</string>
<string name="sk_poll_allow_multiple">複数回答を許可</string>
<string name="sk_clear_recent_languages">最近使用した言語を消去</string>
<string name="sk_settings_show_boosts">ブーストを表示</string>
<string name="sk_app_name">Megalodon</string>
<string name="sk_welcome_title">ようこそ!</string>
<string name="sk_welcome_text">サメはあなたに敬意を表します! まずは、あなたの所属するインスタンスのドメイン名を以下に入力してください。</string>
<string name="sk_follow_requests">フォローリクエスト</string>
<string name="sk_settings_show_federated_timeline">連合タイムラインを表示</string>
<string name="sk_bookmark_as">他のアカウントでブックマークを追加</string>
<string name="sk_bookmarked_as">%s でブックマークを追加しました</string>
<string name="sk_settings_translate_only_opened">開いた投稿のみ翻訳</string>
<string name="sk_already_bookmarked">ブックマークを追加済みです</string>
<string name="sk_confirm_clear_recent_languages">本当に最近使用した言語を消去しますか?</string>
<string name="sk_language_name">%1$s (%2$s)</string>
<string name="sk_settings_profile">プロフィールを設定</string>
<string name="sk_settings_filters">フィルター設定</string>
<string name="sk_settings_auth">セキュリティ設定</string>
<string name="sk_settings_rules">ルール</string>
<string name="sk_settings_about">アプリについて</string>
<string name="sk_settings_donate">寄付</string>
<string name="sk_settings_posting">投稿設定</string>
<string name="sk_color_palette_material3">システム</string>
<string name="sk_color_palette_pink">ピンク</string>
<string name="sk_color_palette_purple">パープル</string>
<string name="sk_color_palette_green">グリーン</string>
<string name="sk_settings_color_palette">カラーパレット</string>
<string name="sk_color_palette_blue">ブルー</string>
<string name="sk_color_palette_brown">ブラウン</string>
<string name="sk_delete_notification">通知を削除</string>
<string name="sk_delete_notification_confirm_action">通知を削除</string>
<string name="sk_delete_notification_confirm">本当にこの通知を削除しますか?</string>
<string name="sk_settings_translation_availability_note_unavailable">%s は翻訳機能をサポートしていません。</string>
<string name="sk_clear_all_notifications">すべての通知をクリア</string>
<string name="sk_clear_all_notifications_confirm_action">すべて削除</string>
<string name="sk_clear_all_notifications_confirm">本当にすべての通知をクリアしますか?</string>
<string name="sk_loading_fediverse_resource_title">Fediverse で調べる</string>
<string name="sk_undo_reblog">ブーストを取り消す</string>
<string name="sk_reblog_with_visibility">ブーストの公開範囲</string>
<string name="sk_quote_post">引用して投稿</string>
<string name="sk_loading_resource_on_instance_title">%s で調べる</string>
<string name="sk_open_with_account">他のアカウントで開く</string>
<string name="sk_resource_not_found">リソースが見つかりません</string>
<string name="sk_confirm_save_draft">下書きを保存しますか?</string>
<string name="sk_confirm_save_changes">変更を保存しますか?</string>
<string name="sk_mark_as_draft">下書きとしてマーク</string>
<string name="sk_schedule_post">予約投稿</string>
<string name="sk_compose_no_schedule">予約しない</string>
<string name="sk_compose_no_draft">下書きに保存しない</string>
<string name="sk_icon_bed">ベッド</string>
<string name="sk_icon_recycle_bin">ごみ箱</string>
<string name="sk_icon_verified">認証済み</string>
<string name="sk_icon_doctor">医者</string>
<string name="sk_icon_beaker">ビーカー</string>
<string name="sk_icon_diamond">ダイヤモンド</string>
<string name="sk_icon_umbrella"></string>
<string name="sk_add_timeline">タイムラインを追加</string>
<string name="sk_edit_timeline_tag_main">ハッシュタグを含む投稿…</string>
<string name="sk_settings_reduce_motion">アニメーションの動きを減らす</string>
<string name="sk_timeline_bubble">バブル</string>
<string name="sk_announcements">お知らせ</string>
<string name="sk_mark_as_read">既読にする</string>
<string name="sk_settings_about_instance">インスタンスについて</string>
<string name="sk_settings_single_notification">通知を1つのみ表示</string>
<string name="sk_create">作成</string>
<string name="sk_create_list_title">リストを作成</string>
<string name="sk_list_name_hint">リストの名前</string>
<string name="sk_recent_searches_placeholder">入力して検索を開始</string>
<string name="sk_do_remove_follower">削除</string>
<string name="sk_remove_follower_success">フォロワーの削除に成功しました</string>
<string name="sk_changelog">変更履歴</string>
<string name="sk_alt_text_missing_title">代替テキストがありません</string>
<string name="sk_lists_with_user">%s をリストに追加/削除</string>
<string name="sk_icon_city"></string>
<string name="sk_icon_pin">画鋲</string>
<string name="sk_alt_button">ALT</string>
<string name="sk_post_edited">編集済み</string>
<string name="sk_notification_type_update">編集済みの投稿</string>
<string name="sk_edit_timelines">タイムラインを編集</string>
<string name="sk_searching">検索しています…</string>
<string name="sk_settings_see_new_posts_button">“新しい投稿を見る” ボタン</string>
<string name="sk_settings_enable_marquee">タイトルバーのテキストスクロールを有効にする</string>
<string name="sk_notification_type_posts">投稿通知</string>
<string name="sk_settings_tabs_disable_swipe">タブ間のスワイプを無効にする</string>
<string name="sk_settings_enable_delete_notifications">通知の削除を有効にする</string>
<string name="sk_gif_badge">GIF</string>
<string name="sk_save_draft_message">この下書きの変更を保存しますか? または今すぐ公開しますか?</string>
<string name="sk_no_alt_text">代替テキストなし</string>
<string name="sk_settings_reply_visibility_self">自分への返信</string>
<string name="sk_quoting_user">%s を引用</string>
<plurals name="sk_posts_count_label">
<item quantity="other">投稿</item>
</plurals>
<string name="sk_settings_load_new_posts">新しい投稿を自動で読み込む</string>
<string name="sk_settings_show_interaction_counts">インタラクション数を表示</string>
<string name="sk_settings_app_version">Megalodon v%1$s (%2$d)</string>
<string name="sk_mark_media_as_sensitive">メディアを閲覧注意としてマーク</string>
<string name="sk_user_post_notifications_off">%s からの投稿通知をオフにしました</string>
<string name="sk_federated_timeline">連合</string>
<string name="sk_update_available">Megalodon %s をダウンロードできます。</string>
<string name="sk_update_ready">Megalodon %s がダウンロードされ、インストールできます。</string>
<string name="sk_check_for_update">アップデートを確認</string>
<string name="sk_no_update_available">アップデートはありません</string>
<string name="sk_accept_follow_request">フォローリクエストを承認</string>
<string name="sk_settings_always_reveal_content_warnings">コンテンツ警告を常に展開</string>
<string name="sk_color_palette_red">レッド</string>
<string name="sk_translated_using">%s を使用して翻訳されました</string>
<string name="sk_post_language">言語: %s</string>
<string name="sk_hashtags_you_follow">フォロー中のハッシュタグ</string>
<string name="sk_favorited_as">%s でお気に入りに登録しました</string>
<string name="sk_already_favorited">お気に入りに登録済みです</string>
<string name="sk_reblog_as">他のアカウントでブースト</string>
<string name="sk_confirm_delete_scheduled_post">本当にこの予約済みの投稿を削除しますか?</string>
<string name="sk_draft_or_schedule">下書きまたは予約</string>
<string name="sk_compose_draft">投稿は下書きとして保存されます。</string>
<string name="sk_compose_scheduled">予約日時</string>
<string name="sk_draft_saved">下書きを保存しました</string>
<string name="sk_post_scheduled">投稿を予約しました</string>
<string name="sk_scheduled_too_soon">投稿は10分以上後の予約である必要があります。</string>
<string name="sk_settings_unifiedpush">UnifiedPush を使用</string>
<string name="sk_settings_unifiedpush_choose">ディストリビューターを選択</string>
<string name="sk_list_replies_policy_followed">フォローされたユーザー</string>
<string name="sk_delete_list">リストを削除</string>
<string name="sk_delete_list_confirm">本当にリスト “%s” を削除しますか?</string>
<string name="sk_edit_list_title">リストを編集</string>
<string name="sk_your_lists">あなたのリスト</string>
<string name="sk_timeline_local">ローカル</string>
<string name="sk_timeline_federated">連合</string>
<string name="sk_settings_disable_alt_text_reminder">代替テキストを追加するためのリマインダーを無効にする</string>
<string name="sk_timelines">タイムライン</string>
<string name="sk_timeline_posts">投稿</string>
<string name="sk_timelines_add">追加</string>
<string name="sk_timeline">タイムライン</string>
<string name="sk_list">リスト</string>
<string name="sk_hashtag">ハッシュタグ</string>
<string name="sk_pin_timeline">タイムラインを固定</string>
<string name="sk_unpinned_timeline">ホームへの固定が解除されました</string>
<string name="sk_remove">削除</string>
<string name="sk_timeline_icon">アイコン</string>
<string name="sk_icon_heart">ハート</string>
<string name="sk_icon_star"></string>
<string name="sk_icon_cat"></string>
<string name="sk_icon_rabbit"></string>
<string name="sk_icon_balloon">風船</string>
<string name="sk_icon_bot">ボット</string>
<string name="sk_icon_language">言語</string>
<string name="sk_icon_image">画像</string>
<string name="sk_icon_location">場所</string>
<string name="sk_icon_megaphone">メガホン</string>
<string name="sk_icon_microphone">マイク</string>
<string name="sk_icon_microscope">顕微鏡</string>
<string name="sk_icon_keyboard">キーボード</string>
<string name="sk_icon_coffee">コーヒー</string>
<string name="sk_icon_news">ニュース</string>
<string name="sk_icon_academic_cap">角帽</string>
<string name="sk_icon_tag">タグ</string>
<string name="sk_icon_stethoscope">聴診器</string>
<string name="sk_icon_weather">天気</string>
<string name="sk_icon_games">ゲーム</string>
<string name="sk_icon_code">コード</string>
<string name="sk_icon_light_bulb">電球</string>
<string name="sk_icon_train">電車</string>
<string name="sk_icon_clapper_board">カチンコ</string>
<string name="sk_icon_leaves"></string>
<string name="sk_icon_sport">スポーツ</string>
<string name="sk_edit_timeline_tag_all">…そしてこれらすべて</string>
<string name="sk_edit_timeline_tag_none">…しかしいずれもない</string>
<string name="sk_edit_timeline_tag_hint">ハッシュタグを入力…</string>
<string name="sk_edit_timeline_tags_hint">ハッシュタグを入力…</string>
<string name="sk_icon_pi">パイ</string>
<string name="sk_icon_aperture">レンズ</string>
<string name="sk_no_results">検索結果なし</string>
<string name="sk_save_draft">下書きを保存しますか?</string>
<string name="sk_inline_local_only">ローカルのみ</string>
<string name="sk_separator">·</string>
<string name="sk_local_only">ローカルインスタンスのみ</string>
<string name="sk_advanced_options_show">高度な設定を表示</string>
<string name="sk_tab_home">ホーム</string>
<string name="sk_settings_display_pronouns_in_threads">スレッドに代名詞を表示</string>
<string name="sk_settings_display_pronouns_in_timelines">タイムラインに代名詞を表示</string>
<string name="sk_settings_true_black">真っ黒なダークテーマ</string>
<string name="sk_settings_instance">インスタンス</string>
<string name="sk_switch_timeline">タイムライン切替</string>
<string name="sk_pronouns_label">代名詞</string>
<string name="sk_settings_show_labels_in_navigation_bar">ナビゲーションバーにタブラベルを表示</string>
<string name="sk_tab_profile">プロフィール</string>
<string name="sk_tab_notifications">通知</string>
<string name="sk_bubble_timeline_info_banner">これらはあなたが所属するインスタンスの管理者によってキュレーションされたネットワークからの最新の投稿です。</string>
<string name="sk_settings_contribute">Megalodon に貢献する</string>
<string name="sk_settings_uniform_icon_for_notifications">すべての通知でアイコンを統一</string>
<string name="sk_forward_report_to">%s に転送</string>
<string name="sk_unsent_posts">未送信の投稿</string>
<string name="sk_draft">下書き</string>
<string name="sk_settings_publish_button_text">公開ボタンのテキスト</string>
<string name="sk_settings_publish_button_text_title">公開ボタンのテキストをカスタマイズ</string>
<string name="sk_copy_link_to_post">投稿のリンクをコピー</string>
<string name="sk_already_reblogged">ブースト済みです</string>
<string name="sk_confirm_delete_draft_title">下書きを削除</string>
<string name="sk_schedule">予約</string>
<string name="sk_confirm_delete_scheduled_post_title">予約済みの投稿を削除</string>
<string name="sk_color_palette_yellow">イエロー</string>
<string name="sk_available_languages">使用可能な言語</string>
<string name="sk_example_domain">example.social</string>
<string name="sk_reply_as">他のアカウントで返信</string>
<string name="sk_icon_chat">チャット</string>
<string name="sk_icon_shield"></string>
<string name="sk_icon_book"></string>
<string name="sk_icon_bicycle">自転車</string>
<string name="sk_icon_map">地図</string>
<string name="sk_icon_math_formula">数式</string>
<string name="sk_icon_backpack">リュックサック</string>
<string name="sk_icon_briefcase">ブリーフケース</string>
<string name="sk_icon_fire"></string>
<string name="sk_icon_bug"></string>
<string name="sk_icon_pizza">ピザ</string>
<string name="sk_icon_gavel">小槌</string>
<string name="sk_icon_headphones">ヘッドフォン</string>
<string name="sk_icon_human">人間</string>
<string name="sk_icon_globe">地球儀</string>
<string name="sk_edit_timeline">タイムラインを編集</string>
<string name="sk_icon_gauge">計器</string>
<string name="sk_attach_file">ファイルを添付</string>
<string name="sk_icon_music">音楽</string>
<string name="sk_icon_people">人々</string>
<string name="sk_icon_health">健康</string>
<string name="sk_icon_important">重要</string>
<string name="sk_search_fediverse">Fediverse を検索</string>
<string name="sk_user_post_notifications_on">%s からの投稿通知をオンにしました</string>
<string name="sk_federated_timeline_info_banner">これらはあなたが所属するインスタンス内のユーザーによる最新の投稿です。</string>
<string name="sk_list_timelines">リスト</string>
<string name="sk_settings_translation_availability_note_available">%s は翻訳機能をサポートしています!</string>
<string name="sk_favorite_as">他のアカウントでお気に入りに登録</string>
<string name="sk_edit_timeline_tag_any">…またはこれらのいずれか</string>
<string name="sk_remove_follower">フォロワーを削除</string>
<string name="sk_unpin_timeline">タイムラインの固定を解除</string>
<string name="sk_icon_color_palette">カラーパレット</string>
<string name="sk_reject_follow_request">フォローリクエストを却下</string>
<string name="sk_remove_follower_confirm">%s をブロックしてすぐにブロックを解除して、フォロワーを削除しますか?</string>
<string name="sk_pinned_timeline">ホームに固定されました</string>
<string name="sk_icon_dog"></string>
<string name="sk_reblogged_as">%s でブーストしました</string>
<string name="sk_icon_turtle"></string>
<string name="sk_confirm_delete_draft">本当にこの下書きの投稿を削除しますか?</string>
<string name="sk_icon_laugh">笑い</string>
<string name="sk_hashtag_timeline_local_only_switch">ローカルの投稿のみを表示しますか?</string>
<string name="sk_notify_update">ブーストした投稿の編集</string>
<string name="sk_scheduled_too_soon_title">予約日時が早すぎます</string>
<string name="sk_schedule_or_draft">予約または下書き</string>
<string name="sk_settings_unifiedpush_no_distributor">ディストリビューターが見つかりません</string>
<string name="sk_updater_enable_pre_releases">プレリリースを有効にする</string>
<string name="sk_tab_search">検索</string>
<string name="sk_inline_direct">メンションされたユーザーのみ</string>
<string name="sk_settings_display_pronouns_in_user_listings">ユーザーリストに代名詞を表示</string>
<string name="sk_settings_unifiedpush_no_distributor_body">UnifiedPush による通知を動作させるにはディストリビューターをインストールする必要があります。詳しくは https://unifiedpush.org/ をご覧ください</string>
<string name="sk_list_replies_policy_list">リストのメンバー</string>
<string name="sk_settings_support_local_only">サーバーはローカルのみの投稿をサポートしています</string>
<string name="sk_spoiler_show">コンテンツを表示</string>
<string name="sk_advanced_options_hide">高度な設定を非表示にする</string>
</resources>
</resources>

View File

@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sk_app_name">Megalodon</string>
</resources>
</resources>

View File

@@ -236,9 +236,7 @@
<string name="follow_user">Seguir %s</string>
<string name="unfollowed_user">Deixou de seguir %s</string>
<string name="followed_user">Agora você está seguindo %s</string>
<string name="following_user_requested">Solicitou para te seguir %s</string>
<string name="open_in_browser">Abrir no navegador</string>
<string name="hide_boosts_from_user">Ocultar boosts de %s</string>
<string name="signup_reason">Por que você deseja se inscrever?</string>
<string name="signup_reason_note">Isso vai nos ajudar a revisar sua inscrição.</string>
<string name="clear">Limpar</string>
@@ -367,7 +365,6 @@
<string name="poll_multiple_choice">Escolha um ou mais</string>
<string name="save_changes">Salvar alterações</string>
<string name="profile_featured">Destaques</string>
<string name="profile_timeline">Linha do tempo</string>
<string name="view_all">Visualizar tudo</string>
<string name="profile_endorsed_accounts">Contas</string>
<string name="verified_link">Link verificado</string>
@@ -380,7 +377,6 @@
<string name="welcome_to_mastodon">Bem-vindo ao Mastodon</string>
<string name="welcome_paragraph1">Mastodon é uma rede social descentralizada, o que significa que nenhuma empresa a controla. É composto de muitos servidores executados de forma independente, todos conectados entre si.</string>
<string name="what_are_servers">O que são servidores?</string>
<string name="welcome_paragraph2">Todas as contas no Mastodon são hospedadas em um servidor — cada um com seus próprios valores, regras, &amp; administradores. Não importa qual você escolha, você pode seguir e interagir com pessoas que estão em qualquer outro servidor.</string>
<string name="opening_link">Abrindo link…</string>
<string name="link_not_supported">Este link não é compatível com o aplicativo</string>
<string name="log_out_all_accounts">Sair de todas as contas</string>
@@ -465,7 +461,6 @@
<!-- %s is the timestamp ("tomorrow at 12:34") -->
<string name="pause_notifications_ends">Termina %s</string>
<!-- %s is the timestamp ("tomorrow at 12:34") -->
<string name="pause_notifications_banner">Notificações serão retomadas %s.</string>
<string name="open_system_notification_settings">Vá para as configurações de notificação</string>
<string name="about_server">Sobre</string>
<string name="server_rules">Regras</string>

View File

@@ -370,9 +370,4 @@
<string name="sk_settings_auto_reveal_equal_spoilers">Revelar automaticamente Avisos de Conteúdo nas respostas</string>
<string name="sk_icon_recycle_bin">Lixeira de reciclagem</string>
<string name="sk_tab_search">Pesquisar</string>
<string name="sk_time_minutes">%d minutos</string>
<string name="sk_time_hours">%d horas</string>
<string name="sk_suicide_search_terms">Suicídio</string>
<string name="sk_time_seconds">%d segundos</string>
<string name="sk_time_days">%d dias</string>
</resources>

View File

@@ -272,7 +272,6 @@
<string name="no_app_to_handle_action">Ni programa za ravnanje s tem dejanjem</string>
<string name="local_timeline">Krajevno</string>
<string name="trending_posts_info_banner">To so objave, ki plenijo pozornost po Mastodonu.</string>
<string name="trending_links_info_banner">To so novice, o katerih se govori na Mastodonu.</string>
<!-- %s is the server domain -->
<string name="see_new_posts">Pokaži nove objave</string>
<string name="load_missing_posts">Naloži manjkajoče objave</string>
@@ -386,7 +385,6 @@
<!-- Shown in a progress dialog when you tap "follow all" -->
<string name="sending_follows">Sledenje uporabnikom ...</string>
<!-- %1$s is server domain, %2$s is email domain. You can reorder these placeholders to fit your language better. -->
<string name="signup_email_domain_blocked">%1$s ne dovoljuje prijav s/z %2$s. Poskusite drugega ali &lt;a&gt;izberite drug strežnik&lt;/a&gt;.</string>
<string name="spoiler_show">Vseeno pokaži</string>
<string name="spoiler_hide">Ponovno skrij</string>
<string name="poll_multiple_choice">Izberi eno ali več izbir</string>
@@ -405,51 +403,29 @@
<string name="welcome_to_mastodon">Dobrodošli na Mastodon</string>
<string name="welcome_paragraph1">Mastodon je decentralizirano družbeno omrežje, kar pomeni, da ga ne upravlja nobeno posamezno podjetje. Sestavljajo ga številni neodvisni strežniki, ki so medsebojno povezani.</string>
<string name="what_are_servers">Kaj so strežniki?</string>
<string name="welcome_paragraph2">Vsak račun Mastodon gostuje na strežniku — vsak strežnik ima svoje vrednote, pravila in skbrnike. Vseeno je, katerega izberete - sledite in komunicirate lahko z osebbami na poljubnem strežniku.</string>
<string name="opening_link">Odpiranje povezav ...</string>
<string name="link_not_supported">Ta povezava v aplikaciji ni podprta</string>
<string name="log_out_all_accounts">Odjava iz vseh računov</string>
<string name="confirm_log_out_all_accounts">Ali se želite odjaviti iz vseh računov?</string>
<string name="retry">Poskusi znova</string>
<string name="post_failed">Objave ni možno poslati</string>
<!-- %s is formatted file size ("467 KB image") -->
<string name="attachment_description_image">%s slika</string>
<string name="attachment_description_video">%s video posnetek</string>
<string name="attachment_description_audio">%s zvočni posnetek</string>
<string name="attachment_description_unknown">%s datoteka</string>
<string name="attachment_type_image">Slika</string>
<string name="attachment_type_video">Video</string>
<string name="attachment_type_audio">Zvok</string>
<string name="attachment_type_gif">GIF</string>
<string name="attachment_type_unknown">Datoteka</string>
<string name="add_poll_option">Dodaj možen odgovor v anketi</string>
<string name="poll_length">Dolžina ankete</string>
<string name="poll_style">Slog</string>
<string name="compose_poll_single_choice">Izberite eno možnost</string>
<string name="compose_poll_multiple_choice">Več možnosti</string>
<string name="delete_poll_option">Izbriši možen odgovor v anketi</string>
<string name="poll_style_title">Slog ankete</string>
<string name="alt_text">Nadomestno besedilo</string>
<string name="help">Pomoč</string>
<string name="what_is_alt_text">Kaj je nadomestno besedilo (alt text)?</string>
<string name="edit_post">Uredi objavo</string>
<string name="no_verified_link">Ni preverjenih povezav</string>
<string name="compose_autocomplete_users_empty">Najdite tiste, ki jih iščete</string>
<string name="no_search_results">Za ta iskalni niz ni zadetkov</string>
<string name="language">Jezik</string>
<string name="language_default">Privzeto</string>
<string name="language_system">sistemski</string>
<string name="language_detecting">Zaznavanje jezika</string>
<string name="language_cant_detect">Jezika ni moč zaznati</string>
<string name="language_detected">Zaznano</string>
<string name="media_hidden">Mediji so skriti</string>
<string name="post_hidden">Skrita objava</string>
<string name="report_title_post">Prijavi objavo</string>
<string name="forward_report_explanation">Račun je z drugega strežnika. Ali želite poslati anonimno kopijo prijave tudi na drugi strežnik?</string>
<!-- %s is the server domain -->
<string name="forward_report_to_server">Posreduj k %s</string>
<!-- Shown on the "stamp" on the screen that appears after you report a post/user. Please keep the translation short, preferably a single word -->
<string name="reported">Prijavljeno</string>
<string name="mark_all_notifications_read">Označi vse kot prebrano</string>
<string name="settings_filters">Filtri</string>
<!-- %s is the app name (Mastodon, key app_name). I made it a placeholder so everything Just Works™ with forks -->
@@ -457,34 +433,25 @@
<string name="default_post_language">Privzeti jezik objave</string>
<string name="pause_all_notifications">Premor za vse</string>
<string name="pause_notifications_off">Izklopljeno</string>
<string name="notifications_policy_follower">Ljudje, ki jim sledite</string>
<string name="notifications_policy_no_one">Nihče</string>
<string name="notification_type_mentions_and_replies">Omembe in odgovori</string>
<string name="pause_all_notifications_title">Zaustavi vsa obvestila</string>
<!-- %1$s is the date (may be relative, e.g. "today" or "yesterday"), %2$s is the time. You can reorder these placeholders if that works better for your language -->
<string name="date_at_time">%1$s ob %2$s</string>
<string name="today">danes</string>
<string name="yesterday">včeraj</string>
<string name="tomorrow">jutri</string>
<!-- %s is the timestamp ("tomorrow at 12:34") -->
<!-- %s is the timestamp ("tomorrow at 12:34") -->
<string name="pause_notifications_banner">Obveščanje se bo nadaljevalo: %s.</string>
<string name="resume_notifications_now">Nadaljuj zdaj</string>
<string name="open_system_notification_settings">Pojdi k nastavitvam obvestil</string>
<string name="about_server">O programu</string>
<string name="server_rules">Pravila</string>
<string name="server_administrator">Skrbnik</string>
<string name="settings_even_more">Še več nastavitev</string>
<string name="settings_show_cws">Pokaži opozorilo o vsebini</string>
<string name="settings_hide_sensitive_media">Skrij medij, ki je označen kot občutljiv</string>
<string name="settings_show_interaction_counts">Števci interakcije objave</string>
<string name="count_one">Ena</string>
<string name="count_two">Dva</string>
<string name="count_three">Tri</string>
<string name="count_four">Štiri</string>
<string name="alt_text_reminder_post_anyway">Objavi</string>
<!-- %s is the username -->
<string name="unfollow_confirmation">Ne želite slediti %s?</string>
<string name="filter_active">Dejaven</string>
<string name="filter_inactive">Nedejaven</string>
<string name="settings_add_filter">Dodaj filter</string>
@@ -495,21 +462,14 @@
<string name="settings_delete_filter">Izbriši filter</string>
<string name="filter_duration_forever">Za vedno</string>
<!-- %s is the timestamp ("tomorrow at 12:34") -->
<string name="selection_2_options">%1$s in %2$s</string>
<string name="selection_3_options">%1$s, %2$s in %3$s</string>
<string name="selection_4_or_more">%1$s, %2$s in še dodatnih %3$d</string>
<string name="filter_context_notifications">Obvestila</string>
<string name="filter_context_public_timelines">Javne časovnice</string>
<string name="filter_context_threads_replies">Niti in odgovori</string>
<string name="filter_context_profiles">Profili</string>
<string name="settings_filter_title">Naslov</string>
<string name="settings_delete_filter_title">Ali želite izbrisati filter »%s«?</string>
<string name="add_muted_word">Dodaj utišano besedo</string>
<string name="edit_muted_word">Uredi utišano besedo</string>
<string name="add">Dodaj</string>
<string name="filter_word_or_phrase">Beseda ali besedna zveza</string>
<string name="settings_delete_filter_word">Ali želite izbrisati besedo »%s«?</string>
<string name="enter_selection_mode">Izberite</string>
<string name="select_all">Izberi vse</string>
<string name="settings_filter_duration_title">Filtriraj po trajanju</string>
<string name="filter_duration_custom">Po meri</string>

View File

@@ -165,7 +165,6 @@
<string name="category_tech">Teknik</string>
<string name="confirm_email_title">Kolla din inkorg</string>
<!-- %s is the email address -->
<string name="confirm_email_didnt_get">Fick du ingen länk?</string>
<string name="resend">Skicka igen</string>
<string name="open_email_app">Öppna e-postappen</string>
<string name="resent_email">Bekräftelse via e-post skickad</string>
@@ -371,7 +370,6 @@
<!-- %s is the app name (Mastodon, key app_name). I made it a placeholder so everything Just Works™ with forks -->
<string name="about_app">Om %s</string>
<string name="settings_confirm_delete_post">Fråga innan du raderar inlägg</string>
<string name="notifications_policy_followed">Personer som följer dig</string>
<string name="notifications_policy_no_one">Ingen</string>
<plurals name="x_weeks">
<item quantity="one">%d vecka</item>

View File

@@ -152,5 +152,4 @@
<string name="sk_reply_as">Svara med annat konto</string>
<string name="sk_unsent_posts">Opublicerade inlägg</string>
<string name="sk_draft_saved">Utkast sparat</string>
<string name="sk_quoting_user">Citerar %s</string>
</resources>

View File

@@ -75,15 +75,4 @@
<string name="sk_settings_tabs_disable_swipe">ปิดใช้การปัดระหว่างแท็บ</string>
<string name="sk_update_ready">Megalodon รุ่น %s ดาวน์โหลดเสร็จและพร้อมให้ติดตั้งแล้ว</string>
<string name="sk_clear_all_notifications">ล้างการแจ้งเตือนทั้งหมด</string>
<string name="sk_settings_translation_availability_note_available">%s รองรับการแปล!</string>
<string name="sk_settings_translation_availability_note_unavailable">ดูเหมือนว่า %s ไม่รองรับการแปล</string>
<string name="sk_loading_fediverse_resource_title">กำลังค้นหาบนเฟดิเวิร์ส</string>
<string name="sk_undo_reblog">เลิกดันโพสต์</string>
<string name="sk_reblog_with_visibility">ดันด้วยการมองเห็น</string>
<string name="sk_quote_post">โพสต์เกี่ยวกับสิ่งนี้</string>
<string name="sk_copy_link_to_post">คัดลอกลิงก์ไปยังโพสต์</string>
<string name="sk_hashtags_you_follow">แฮชแท็กที่คุณติดตาม</string>
<string name="sk_loading_resource_on_instance_title">กำลังค้นหาบน %s</string>
<string name="sk_open_with_account">เปิดด้วยบัญชีอื่น</string>
<string name="sk_resource_not_found">ไม่พบทรัพยากร</string>
</resources>

View File

@@ -380,18 +380,4 @@
<item quantity="many">дописів</item>
<item quantity="other">дописів</item>
</plurals>
<string name="sk_settings_show_emoji_reactions_only_opened">Лише коли допис відкрито</string>
<string name="sk_search_suicide_hotlines">Знайти гарячу лінію</string>
<string name="sk_do_not_show_again">Не показувати знову</string>
<string name="sk_suicide_helplines_url">https://findahelpline.com</string>
<string name="sk_post_contains_media">Допис містить медіа</string>
<string name="sk_settings_load_missing_posts">Поведінка завантаження пропущених дописів</string>
<string name="sk_load_missing_posts_oldest_first">Спочатку найдавніші (за зростанням)</string>
<string name="sk_settings_show_emoji_reactions">Показувати реакції емоджі у стрічках</string>
<string name="sk_settings_show_emoji_reactions_hide_empty">Сховати реакції без емоджі</string>
<string name="sk_settings_show_emoji_reactions_always">Завжди показувати кнопку Додати</string>
<string name="sk_suicide_search_terms">Самогубство</string>
<string name="sk_search_suicide_title">Якщо ви потрапили в біду…</string>
<string name="sk_search_suicide_message">Якщо ви шукаєте знак, щоб не накладати на себе руки, то це він. Якщо ви перебуваєте у скрутному становищі, зверніться на місцеву гарячу лінію з питань самогубств.</string>
<string name="sk_load_missing_posts_newest_first">Спочатку найновіші (за спаданням)</string>
</resources>

View File

@@ -16,8 +16,8 @@
<string name="sk_image_description">Image description</string>
<string name="sk_visibility_unlisted">Unlisted</string>
<string name="sk_settings_show_replies">Show replies</string>
<string name="sk_settings_continues_playback">Audio overlay</string>
<string name="sk_settings_continues_playback_summary">Allow already playing media to continue playing, overlaying the new playback</string>
<string name="sk_settings_continues_playback">Audio overlay</string>
<string name="sk_settings_continues_playback_summary">Allow already playing media to continue playing, overlaying the new playback</string>
<string name="sk_quoting_user">Quoting %s</string>
<string name="sk_settings_reply_visibility">Reply visibility</string>
<string name="sk_settings_reply_visibility_all">All replies</string>
@@ -33,9 +33,7 @@
<string name="sk_federated_timeline">Federation</string>
<string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string>
<string name="sk_bubble_timeline_info_banner">These are the most recent posts from the network curated by your instance admins.</string>
<string name="sk_trending_posts_info_banner">These are the posts gaining traction on your server.</string>
<string name="sk_trending_links_info_banner">These are the news stories getting talked about on your server.</string>
<string name="sk_update_available">Megalodon %s is ready to download.</string>
<string name="sk_update_available">Megalodon %s is ready to download.</string>
<string name="sk_update_ready">Megalodon %s is downloaded and ready to install.</string>
<string name="sk_check_for_update">Check for update</string>
<string name="sk_no_update_available">No update available</string>
@@ -139,11 +137,11 @@
<string name="sk_mark_as_read">Mark as read</string>
<string name="sk_settings_about_instance">About instance</string>
<string name="sk_settings_single_notification">Only show one notification</string>
<string name="sk_settings_unifiedpush">Use UnifiedPush</string>
<string name="sk_settings_unifiedpush_choose">Choose a distributor</string>
<string name="sk_settings_unifiedpush_no_distributor">No distributor found</string>
<string name="sk_settings_unifiedpush_no_distributor_body">You need to install a distributor for UnifiedPush notifications to work. For more information, visit https://unifiedpush.org/</string>
<string name="sk_create">Create</string>
<string name="sk_settings_unifiedpush">Use UnifiedPush</string>
<string name="sk_settings_unifiedpush_choose">Choose a distributor</string>
<string name="sk_settings_unifiedpush_no_distributor">No distributor found</string>
<string name="sk_settings_unifiedpush_no_distributor_body">You need to install a distributor for UnifiedPush notifications to work. For more information, visit https://unifiedpush.org/</string>
<string name="sk_create">Create</string>
<string name="sk_create_list_title">Create list</string>
<string name="sk_list_name_hint">List name</string>
<string name="sk_list_replies_policy">Show replies to</string>
@@ -338,58 +336,46 @@
<string name="sk_advanced_options_show">Show advanced options</string>
<string name="sk_advanced_options_hide">Hide advanced options</string>
<string name="sk_spoiler_show">Show content</string>
<string name="sk_pronouns_label">Pronouns</string>
<string name="sk_switch_timeline">Switch timeline</string>
<string name="sk_settings_instance">Instance</string>
<string name="sk_disable_pill_shaped_active_indicator">Disable pill-shaped active tab indicator</string>
<string name="sk_settings_true_black">Pitch black mode</string>
<string name="sk_search_fediverse">Search the Fediverse</string>
<string name="sk_settings_display_pronouns_in_timelines">Display pronouns in timelines</string>
<string name="sk_settings_display_pronouns_in_threads">Display pronouns in threads</string>
<string name="sk_settings_display_pronouns_in_user_listings">Display pronouns in user listings</string>
<string name="sk_tab_home">Home</string>
<string name="sk_tab_search">Search</string>
<string name="sk_tab_notifications">Notifications</string>
<string name="sk_tab_profile">Profile</string>
<string name="sk_settings_show_labels_in_navigation_bar">Show tab labels in the navigation bar</string>
<string name="sk_pronouns_label">Pronouns</string>
<string name="sk_switch_timeline">Switch timeline</string>
<string name="sk_settings_instance">Instance</string>
<string name="sk_disable_pill_shaped_active_indicator">Disable pill-shaped active tab indicator</string>
<string name="sk_settings_true_black">Pitch black mode</string>
<string name="sk_search_fediverse">Search the Fediverse</string>
<string name="sk_settings_display_pronouns_in_timelines">Display pronouns in timelines</string>
<string name="sk_settings_display_pronouns_in_threads">Display pronouns in threads</string>
<string name="sk_settings_display_pronouns_in_user_listings">Display pronouns in user listings</string>
<string name="sk_tab_home">Home</string>
<string name="sk_tab_search">Search</string>
<string name="sk_tab_notifications">Notifications</string>
<string name="sk_tab_profile">Profile</string>
<string name="sk_settings_show_labels_in_navigation_bar">Show tab labels in the navigation bar</string>
<string name="sk_settings_emoji_reactions">Enable emoji reactions</string>
<string name="sk_settings_emoji_reactions_explanation">Displays emoji reactions to posts and lets you add yours. Various Fediverse servers support this, but Mastodon doesnt.</string>
<string name="sk_settings_emoji_reactions_explanation">Displays emoji reactions to posts and lets you interact with them. Some modified versions of Mastodon support this, but Mastodon doesn\'t.</string>
<string name="sk_settings_show_emoji_reactions">Show emoji reactions in timelines</string>
<string name="sk_settings_show_emoji_reactions_hide_empty">Hide empty emoji reactions</string>
<string name="sk_settings_show_emoji_reactions_only_opened">Only when post is opened</string>
<string name="sk_settings_show_emoji_reactions_always">Always show add button</string>
<plurals name="sk_users_reacted_with">
<item quantity="one">One user reacted with %2$s</item>
<item quantity="other">%1$,d users reacted with %2$s</item>
</plurals>
<string name="sk_settings_show_emoji_reactions_hide_empty">Hide empty emoji reactions</string>
<string name="sk_settings_show_emoji_reactions_only_opened">Only when post is opened</string>
<string name="sk_settings_show_emoji_reactions_always">Always show add button</string>
<plurals name="sk_users_reacted_with">
<item quantity="one">One user reacted with %2$s</item>
<item quantity="other">%1$,d users reacted with %2$s</item>
</plurals>
<string name="sk_button_react">React with emoji</string>
<string name="sk_enter_emoji_toast">Please type an emoji</string>
<string name="sk_enter_emoji_hint">Type to react with an emoji</string>
<string name="sk_mute_label">Duration</string>
<string name="sk_duration_indefinite">Indefinite</string>
<string name="sk_duration_minutes_5">5 minutes</string>
<string name="sk_duration_minutes_30">30 minutes</string>
<string name="sk_duration_hours_1">1 hour</string>
<string name="sk_duration_hours_6">6 hours</string>
<string name="sk_duration_days_1">1 day</string>
<string name="sk_duration_days_3">3 days</string>
<string name="sk_duration_days_7">7 days</string>
<string name="sk_notification_mention">You were mentioned by %s</string>
<string name="sk_suicide_search_terms">Suicide</string>
<string name="sk_search_suicide_title">In case youre in distress…</string>
<string name="sk_search_suicide_message">If youre looking for a sign not to commit suicide, this is it. Please consider reaching out to a local suicide hotline if youre in distress.</string>
<string name="sk_search_suicide_hotlines">Find a helpline</string>
<string name="sk_do_not_show_again">Dont show again</string>
<string name="sk_suicide_helplines_url">https://findahelpline.com</string>
<plurals name="sk_posts_count_label">
<item quantity="one">post</item>
<item quantity="other">posts</item>
</plurals>
<string name="sk_post_contains_media">Post contains media</string>
<string name="sk_load_missing_posts_above">Load newer posts</string>
<string name="sk_load_missing_posts_below">Load older posts</string>
<string name="sk_time_seconds">%d seconds</string>
<string name="sk_time_minutes">%d minutes</string>
<string name="sk_time_hours">%d hours</string>
<string name="sk_time_days">%d days</string>
<string name="sk_again_for_system_keyboard">Tap again for System Keyboard</string>
<string name="sk_enter_emoji_toast">You need to type an emoji</string>
<string name="sk_enter_emoji_hint">Type to react with an emoji</string>
<string name="sk_mute_label">Duration</string>
<string name="sk_duration_indefinite">Indefinite</string>
<string name="sk_duration_minutes_5">5 minutes</string>
<string name="sk_duration_minutes_30">30 minutes</string>
<string name="sk_duration_hours_1">1 hour</string>
<string name="sk_duration_hours_6">6 hours</string>
<string name="sk_duration_days_1">1 day</string>
<string name="sk_duration_days_3">3 days</string>
<string name="sk_duration_days_7">7 days</string>
<string name="sk_notification_mention">You were mentioned by %s</string>
<plurals name="sk_posts_count_label">
<item quantity="one">post</item>
<item quantity="other">posts</item>
</plurals>
</resources>

View File

@@ -1 +1 @@
Mastodon for Android but it's pink and has more features
Mastodon for Android but it's pink and has more features

View File

@@ -1 +0,0 @@
Megalodon

View File

@@ -1,6 +1,6 @@
- Pestanya d'inici nova amb línies de temps públiques
- Mostra els avisos del servidor
- El text s'escala segons el sistema
- El text s'escala segons la configuració del sistema
- Filtre millorat (no, «Amaga amb un avís» encara no funciona) per @thiagojedi
- Gestió de llistes
- Elimina els seguidors bloquejant-los suaument

View File

@@ -1,6 +0,0 @@
- Filtres millorats, inclosa la compatibilitat «Amaga amb un avís»
- Pàgina de perfil redissenyada amb metadades directament a sota de la bio
- Funció de replegar/expandir a les publicacions molt llargues
- Opció que afegeix el prefix «re:» a les respostes d'avisos de contingut
- Opció damagar els botons dinteracció en la línia de temps
- Diverses correccions, retocs i millores

View File

@@ -1,4 +0,0 @@
- Feu una pulsació llarga al botó de seguiment per a seguir els perfils en un altre compte
- Opció dobrir perfils en un altre compte
- Amaga automàticament el botó de redacció en desplaçar-se per la línia de temps
- S'ha arreglat un error en obrir els perfils d'administrador del servidor

View File

@@ -1,5 +0,0 @@
- Feu m'agrada/afegiu als marcadors/responeu directament des de la notificació
- Capçaleres més boniques i coherents per a les republicacions i respostes en la línia de temps
- Punt de notificació (que encara no carrega les notificacions)
- Per als usuaris d'Akkoma: Visibilitat de les respostes, respostes ordenades als fils, citar…
- S'han arreglat alguns errors i retocs menors

View File

@@ -1,8 +0,0 @@
- Vista millorada i més clara dels fils
- Obre comptes o publicacions compartint un lloc web a Megalodon
- Carrega els llistats de seguidors, preferits… des de la instància dorigen
- Millores de compatibilitat per a servidors que no són de Mastodon
- Opció per establir el tipus de contingut a les publicacions
- Suport per a copiar URL de les aplicacions recents en dispositius Pixel
- Mostra automàticament els mateixos avisos de contingut als fils
- Correcció d'errors i millores de la interfície