Compare commits
172 Commits
1.1.4+fork
...
feature/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b79b69d961 | ||
|
|
5118a1fb1e | ||
|
|
18275183d0 | ||
|
|
616049bff2 | ||
|
|
1a79bc0b61 | ||
|
|
d43cbe642f | ||
|
|
77cee4c46a | ||
|
|
0949ad1ce6 | ||
|
|
1e411c0c23 | ||
|
|
76d306aef7 | ||
|
|
7ff19ef481 | ||
|
|
6650bb946f | ||
|
|
bbbf1683aa | ||
|
|
5cdea99eb0 | ||
|
|
356426b5fc | ||
|
|
7577d60f42 | ||
|
|
8c7364d57d | ||
|
|
c0a2945378 | ||
|
|
1af9a71210 | ||
|
|
dc859fe91c | ||
|
|
d50c37af23 | ||
|
|
00c8a03b80 | ||
|
|
d15d222b72 | ||
|
|
34d134cb57 | ||
|
|
40eb3e2400 | ||
|
|
0af45e5f56 | ||
|
|
82e3250623 | ||
|
|
533a51fc77 | ||
|
|
6fc82cf26b | ||
|
|
6dcfdb9735 | ||
|
|
217d8348d4 | ||
|
|
9bce934944 | ||
|
|
a1ef3e1cae | ||
|
|
978c1cfdc4 | ||
|
|
9fb9ffc269 | ||
|
|
4f357637de | ||
|
|
1acd177e81 | ||
|
|
e4b1bf452f | ||
|
|
ce22cb4678 | ||
|
|
3c45215fca | ||
|
|
b17e63acae | ||
|
|
859ba5ebb9 | ||
|
|
164579cbb5 | ||
|
|
990f8189e4 | ||
|
|
4d0a642fd9 | ||
|
|
84b2994b99 | ||
|
|
efbca327c1 | ||
|
|
aa4b007d25 | ||
|
|
23dccef4b4 | ||
|
|
1ef96ed5e6 | ||
|
|
31e2a32233 | ||
|
|
168ae80743 | ||
|
|
8acf23ddac | ||
|
|
eb40211582 | ||
|
|
bf35161c9f | ||
|
|
456c50f69e | ||
|
|
587212cf46 | ||
|
|
fe800a259d | ||
|
|
c193741013 | ||
|
|
a7b752264f | ||
|
|
9075027f69 | ||
|
|
28faf4277a | ||
|
|
120ab8ca54 | ||
|
|
a3fc1a6a74 | ||
|
|
ec1fe07fea | ||
|
|
e3d054ae3e | ||
|
|
795d4b0801 | ||
|
|
0cf0f07f2d | ||
|
|
2cc5872ec7 | ||
|
|
6a151e00ac | ||
|
|
1e99862d40 | ||
|
|
3a1b12306b | ||
|
|
e31db6d506 | ||
|
|
b22c0a5d3d | ||
|
|
e7d856acf4 | ||
|
|
ee8b087b61 | ||
|
|
4e86314df5 | ||
|
|
cf5fbe3b55 | ||
|
|
952416fefc | ||
|
|
1645ce4486 | ||
|
|
2bde95b4d2 | ||
|
|
2de003c5bb | ||
|
|
a04e16c572 | ||
|
|
eb41d77d54 | ||
|
|
9325590319 | ||
|
|
d32a57a18d | ||
|
|
13b5462f63 | ||
|
|
480d4ad904 | ||
|
|
7fa52247e8 | ||
|
|
5a547015e6 | ||
|
|
513736f765 | ||
|
|
c6164b1bcd | ||
|
|
87342782d7 | ||
|
|
a4b18de72c | ||
|
|
3064b549cd | ||
|
|
6666f82329 | ||
|
|
ad87efa7e2 | ||
|
|
d06cf1bb1e | ||
|
|
096aa23f69 | ||
|
|
2464042329 | ||
|
|
928b04eda6 | ||
|
|
a31e33415e | ||
|
|
87ce6b8bb1 | ||
|
|
bb08d6585c | ||
|
|
94fa1133fd | ||
|
|
83822b8f69 | ||
|
|
9f3bd186ba | ||
|
|
58cb338cb2 | ||
|
|
6f447909eb | ||
|
|
af953e294d | ||
|
|
7504a1b9cb | ||
|
|
60ee781004 | ||
|
|
4b88ce5115 | ||
|
|
3842ecb0d1 | ||
|
|
3713063ce3 | ||
|
|
83b089457e | ||
|
|
ed9813f093 | ||
|
|
e45f3f30f3 | ||
|
|
df44d4cc4f | ||
|
|
b666048603 | ||
|
|
153542e1b4 | ||
|
|
57e0b96f36 | ||
|
|
ff65d150e3 | ||
|
|
88474ba826 | ||
|
|
dd92f1b66f | ||
|
|
7c7f3cc42a | ||
|
|
734a8049a5 | ||
|
|
417faa66f9 | ||
|
|
7223a13d08 | ||
|
|
a55002da0c | ||
|
|
ce89733f2d | ||
|
|
18811ec32a | ||
|
|
e65e6163ba | ||
|
|
9c3db24d2f | ||
|
|
19abbe199b | ||
|
|
b33003f7b0 | ||
|
|
9a5747efc8 | ||
|
|
980503ed57 | ||
|
|
c2dd858de8 | ||
|
|
d2ef6fb567 | ||
|
|
9c996b3568 | ||
|
|
2387d84bc0 | ||
|
|
3bd69b5447 | ||
|
|
71f6311598 | ||
|
|
e808977717 | ||
|
|
8594e34bb5 | ||
|
|
4591f06d63 | ||
|
|
b9c3143c6f | ||
|
|
adefb0e567 | ||
|
|
5a8fed3c06 | ||
|
|
2c1b8da475 | ||
|
|
707c51e4d6 | ||
|
|
1a075e32de | ||
|
|
6c778d05ea | ||
|
|
2d9938e8b2 | ||
|
|
1e99940c1d | ||
|
|
2827bcffe3 | ||
|
|
ce4e762cd5 | ||
|
|
26297fbb5b | ||
|
|
cd342d1034 | ||
|
|
029650ef2d | ||
|
|
ac24f636df | ||
|
|
1688168bc1 | ||
|
|
46b842afc4 | ||
|
|
3f773a52cc | ||
|
|
48664bb580 | ||
|
|
094cd67728 | ||
|
|
9d800106cc | ||
|
|
68bb23e3b4 | ||
|
|
68397bd487 | ||
|
|
3104ddb4b6 | ||
|
|
9bddd6b274 |
@@ -36,4 +36,50 @@ shadowsocial.org
|
||||
kiwifarms.net
|
||||
kiwifarms.cc
|
||||
kiwifarms.is
|
||||
kiwifarms.pleroma.net
|
||||
kiwifarms.pleroma.net
|
||||
|
||||
|
||||
# https://mastodon.art/@Curator/109649354849593592
|
||||
|
||||
poa.st antisemitic racist homophobic
|
||||
nicecrew.digital antisemitic
|
||||
beefyboys.win antisemitic racist homophobic harassment
|
||||
cawfee.club antisemitic racist homophobic
|
||||
comfyboy.club antisemitic racist homophobic
|
||||
freespeechextremist.com racist homophobic
|
||||
cum.salon racist misogynist
|
||||
bae.st racist
|
||||
natehiggers.online racist
|
||||
rapemeat.solutions misogynist
|
||||
rapist.town misogynist
|
||||
rapefeminists.network misogynist
|
||||
kiwifarms.cc harassment
|
||||
noagendasocial.com noagenda
|
||||
posting.lolicon.rocks underage
|
||||
urchan.org harassment homophobic racist
|
||||
ryona.agency harassment
|
||||
yggdrasil.social antisemitic homophobic racist
|
||||
genderheretics.xyz transphobic
|
||||
baraag.net underage
|
||||
lolison.top underage
|
||||
shota.house underage
|
||||
shota.social underage
|
||||
aethy.com underage
|
||||
taullo.social underage
|
||||
childpawn.shop underage
|
||||
posting.lolicon.rocks underage
|
||||
loli.best underage
|
||||
gothloli.club underage
|
||||
smuglo.li underage
|
||||
youjo.love underage
|
||||
pedo.school underage
|
||||
lolison.network underage
|
||||
freak.university underage
|
||||
mirr0r.city underage
|
||||
xhais.love underage
|
||||
refusal.biz underage
|
||||
refusal.llc underage
|
||||
mirr0r.city underage
|
||||
nnia.space underage
|
||||
ignorelist.com malicious
|
||||
repl.co malicious
|
||||
|
||||
|
@@ -37,8 +37,7 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
||||
private static final String TAG="PushNotificationReceive";
|
||||
|
||||
public static final int NOTIFICATION_ID=178;
|
||||
|
||||
private static int notificationID;
|
||||
private static int notificationId = 0;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent){
|
||||
@@ -127,21 +126,18 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
||||
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
|
||||
}
|
||||
Drawable avatar=ImageCache.getInstance(context).get(new UrlImageLoaderRequest(pn.icon, V.dp(50), V.dp(50)));
|
||||
|
||||
notificationID = GlobalUserPreferences.keepOnlyLatestNotification ? NOTIFICATION_ID : (int)System.currentTimeMillis();
|
||||
|
||||
Intent contentIntent=new Intent(context, MainActivity.class);
|
||||
contentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
contentIntent.putExtra("fromNotification", true);
|
||||
contentIntent.putExtra("accountID", accountID);
|
||||
contentIntent.putExtra("notificationID", notificationID);
|
||||
contentIntent.putExtra("notificationID", notificationId);
|
||||
if(notification!=null){
|
||||
contentIntent.putExtra("notification", Parcels.wrap(notification));
|
||||
}
|
||||
builder.setContentTitle(pn.title)
|
||||
.setContentText(pn.body)
|
||||
.setStyle(new Notification.BigTextStyle().bigText(pn.body))
|
||||
.setContentIntent(PendingIntent.getActivity(context, notificationID, contentIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT))
|
||||
.setContentIntent(PendingIntent.getActivity(context, notificationId, contentIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT))
|
||||
.setWhen(notification==null ? System.currentTimeMillis() : notification.createdAt.toEpochMilli())
|
||||
.setShowWhen(true)
|
||||
.setCategory(Notification.CATEGORY_SOCIAL)
|
||||
@@ -166,6 +162,6 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
||||
if(AccountSessionManager.getInstance().getLoggedInAccounts().size()>1){
|
||||
builder.setSubText(accountName);
|
||||
}
|
||||
nm.notify(accountID, notificationID, builder.build());
|
||||
nm.notify(accountID, GlobalUserPreferences.keepOnlyLatestNotification ? NOTIFICATION_ID : notificationId++, builder.build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,11 @@ public class MastodonAPIController{
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
if (line.isBlank() || line.startsWith("#")) continue;
|
||||
badDomains.add(line.toLowerCase().trim());
|
||||
String[] parts = line.replaceAll("\"", "").split("[\s,;]");
|
||||
if (parts.length == 0) continue;
|
||||
String domain = parts[0].toLowerCase().trim();
|
||||
if (domain.isBlank()) continue;
|
||||
badDomains.add(domain);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
@@ -73,8 +77,8 @@ public class MastodonAPIController{
|
||||
}
|
||||
|
||||
public <T> void submitRequest(final MastodonAPIRequest<T> req){
|
||||
final String host = req.getURL().getHost().toLowerCase();
|
||||
final boolean isBad = badDomains.stream().anyMatch(host::endsWith);
|
||||
final String host = req.getURL().getHost();
|
||||
final boolean isBad = host == null || badDomains.stream().anyMatch(h -> h.equalsIgnoreCase(host) || host.toLowerCase().endsWith("." + h));
|
||||
thread.postRunnable(()->{
|
||||
try{
|
||||
if (isBad) throw new IllegalArgumentException();
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.joinmastodon.android.api.requests.accounts;
|
||||
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.Relationship;
|
||||
|
||||
public class SetPrivateNote extends MastodonAPIRequest<Relationship>{
|
||||
public SetPrivateNote(String id, String comment){
|
||||
super(MastodonAPIRequest.HttpMethod.POST, "/accounts/"+id+"/note", Relationship.class);
|
||||
Request req = new Request(comment);
|
||||
setRequestBody(req);
|
||||
}
|
||||
|
||||
private static class Request{
|
||||
public String comment;
|
||||
public Request(String comment){
|
||||
this.comment=comment;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package org.joinmastodon.android.api.requests.lists;
|
||||
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
|
||||
public class CreateList extends MastodonAPIRequest<ListTimeline> {
|
||||
public CreateList(String title, ListTimeline.RepliesPolicy repliesPolicy) {
|
||||
super(HttpMethod.POST, "/lists", ListTimeline.class);
|
||||
Request req = new Request();
|
||||
req.title = title;
|
||||
req.repliesPolicy = repliesPolicy;
|
||||
setRequestBody(req);
|
||||
}
|
||||
|
||||
public static class Request {
|
||||
public String title;
|
||||
public ListTimeline.RepliesPolicy repliesPolicy;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package org.joinmastodon.android.api.requests.lists;
|
||||
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
|
||||
public class DeleteList extends MastodonAPIRequest<Object> {
|
||||
public DeleteList(String id) {
|
||||
super(HttpMethod.DELETE, "/lists/" + id, Object.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.joinmastodon.android.api.requests.lists;
|
||||
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
|
||||
public class UpdateList extends MastodonAPIRequest<ListTimeline> {
|
||||
public UpdateList(String id, String title, ListTimeline.RepliesPolicy repliesPolicy) {
|
||||
super(HttpMethod.PUT, "/lists/" + id, ListTimeline.class);
|
||||
CreateList.Request req = new CreateList.Request();
|
||||
req.title = title;
|
||||
req.repliesPolicy = repliesPolicy;
|
||||
setRequestBody(req);
|
||||
}
|
||||
}
|
||||
@@ -8,9 +8,11 @@ import org.joinmastodon.android.model.Status;
|
||||
import java.util.List;
|
||||
|
||||
public class GetTrendingStatuses extends MastodonAPIRequest<List<Status>>{
|
||||
public GetTrendingStatuses(int limit){
|
||||
public GetTrendingStatuses(int offset, int limit){
|
||||
super(HttpMethod.GET, "/trends/statuses", new TypeToken<>(){});
|
||||
if(limit>0)
|
||||
addQueryParameter("limit", ""+limit);
|
||||
if(offset>0)
|
||||
addQueryParameter("offset", ""+offset);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
@@ -34,6 +36,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import me.grishka.appkit.Nav;
|
||||
import me.grishka.appkit.api.PaginatedList;
|
||||
@@ -63,9 +66,11 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
|
||||
instanceUser.avatar = instanceUser.avatarStatic = instance.thumbnail;
|
||||
instanceUser.emojis = List.of();
|
||||
Status fakeStatus = a.toStatus();
|
||||
TextStatusDisplayItem textItem = new TextStatusDisplayItem(a.id, HtmlParser.parse(a.content, a.emojis, a.mentions, a.tags, accountID), this, fakeStatus, true);
|
||||
textItem.textSelectable = true;
|
||||
return List.of(
|
||||
HeaderStatusDisplayItem.fromAnnouncement(a, fakeStatus, instanceUser, this, accountID, this::onMarkAsRead),
|
||||
new TextStatusDisplayItem(a.id, HtmlParser.parse(a.content, a.emojis, a.mentions, a.tags, accountID), this, fakeStatus)
|
||||
textItem
|
||||
);
|
||||
}
|
||||
|
||||
@@ -84,14 +89,7 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
|
||||
protected void addAccountToKnown(Announcement s) {}
|
||||
|
||||
@Override
|
||||
public void onItemClick(String id) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDataLoaded(List<Announcement> d, boolean more) {
|
||||
unreadIDs = d.stream().filter(a -> !a.read).map(a -> a.id).collect(Collectors.toList());
|
||||
super.onDataLoaded(d, more);
|
||||
}
|
||||
public void onItemClick(String id) {}
|
||||
|
||||
@Override
|
||||
protected void doLoadData(int offset, int count){
|
||||
@@ -99,7 +97,11 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
|
||||
.setCallback(new SimpleCallback<>(this){
|
||||
@Override
|
||||
public void onSuccess(List<Announcement> result){
|
||||
onDataLoaded(result, false);
|
||||
List<Announcement> unread = result.stream().filter(a -> !a.read).collect(toList());
|
||||
List<Announcement> read = result.stream().filter(a -> a.read).collect(toList());
|
||||
onDataLoaded(unread, true);
|
||||
onDataLoaded(read, false);
|
||||
unreadIDs = unread.stream().map(a -> a.id).collect(toList());
|
||||
}
|
||||
})
|
||||
.exec(accountID);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import static android.os.ext.SdkExtensions.getExtensionVersion;
|
||||
|
||||
import static org.joinmastodon.android.GlobalUserPreferences.recentLanguages;
|
||||
import static org.joinmastodon.android.api.requests.statuses.CreateStatus.DRAFTS_AFTER_INSTANT;
|
||||
import static org.joinmastodon.android.api.requests.statuses.CreateStatus.getDraftInstant;
|
||||
@@ -29,6 +31,7 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.provider.MediaStore;
|
||||
import android.provider.OpenableColumns;
|
||||
import android.text.Editable;
|
||||
import android.text.InputFilter;
|
||||
@@ -432,6 +435,13 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
spoilerBtn.setSelected(true);
|
||||
}
|
||||
|
||||
sensitive = savedInstanceState==null && editingStatus != null ? editingStatus.sensitive
|
||||
: savedInstanceState!=null && savedInstanceState.getBoolean("sensitive", false);
|
||||
if (sensitive) {
|
||||
sensitiveItem.setVisibility(View.VISIBLE);
|
||||
sensitiveIcon.setSelected(true);
|
||||
}
|
||||
|
||||
if(savedInstanceState!=null && savedInstanceState.containsKey("attachments")){
|
||||
ArrayList<Parcelable> serializedAttachments=savedInstanceState.getParcelableArrayList("attachments");
|
||||
for(Parcelable a:serializedAttachments){
|
||||
@@ -517,6 +527,8 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
|
||||
mainEditText.setSelectionListener(this);
|
||||
mainEditText.addTextChangedListener(new TextWatcher(){
|
||||
private int lastChangeStart, lastChangeCount;
|
||||
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after){
|
||||
|
||||
@@ -526,6 +538,16 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count){
|
||||
if(s.length()==0)
|
||||
return;
|
||||
lastChangeStart=start;
|
||||
lastChangeCount=count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s){
|
||||
if(s.length()==0)
|
||||
return;
|
||||
int start=lastChangeStart;
|
||||
int count=lastChangeCount;
|
||||
// offset one char back to catch an already typed '@' or '#' or ':'
|
||||
int realStart=start;
|
||||
start=Math.max(0, start-1);
|
||||
@@ -571,10 +593,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
editable.removeSpan(span);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s){
|
||||
updateCharCounter();
|
||||
}
|
||||
});
|
||||
@@ -701,7 +720,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
DraftMediaAttachment da=new DraftMediaAttachment();
|
||||
da.serverAttachment=att;
|
||||
da.description=att.description;
|
||||
da.uri=Uri.parse(att.previewUrl);
|
||||
da.uri=att.previewUrl!=null ? Uri.parse(att.previewUrl) : null;
|
||||
da.state=AttachmentUploadState.DONE;
|
||||
attachmentsView.addView(createMediaAttachmentView(da));
|
||||
attachments.add(da);
|
||||
@@ -1162,14 +1181,50 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
.show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if Android platform photopicker is available on the device\
|
||||
* @return whether the device supports photopicker intents.
|
||||
*/
|
||||
private boolean isPhotoPickerAvailable() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
return true;
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
return getExtensionVersion(Build.VERSION_CODES.R) >= 2;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the correct intent for the device version to select media.
|
||||
*
|
||||
* <p>For Device version > T or R_SDK_v2, use the android platform photopicker via
|
||||
* {@link MediaStore#ACTION_PICK_IMAGES}
|
||||
*
|
||||
* <p>For earlier versions use the built in docs ui via {@link Intent#ACTION_GET_CONTENT}
|
||||
*/
|
||||
private void openFilePicker(){
|
||||
Intent intent=new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType("*/*");
|
||||
if(instance.configuration!=null && instance.configuration.mediaAttachments!=null && instance.configuration.mediaAttachments.supportedMimeTypes!=null && !instance.configuration.mediaAttachments.supportedMimeTypes.isEmpty()){
|
||||
intent.putExtra(Intent.EXTRA_MIME_TYPES, instance.configuration.mediaAttachments.supportedMimeTypes.toArray(new String[0]));
|
||||
}else{
|
||||
intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"image/*", "video/*"});
|
||||
Intent intent;
|
||||
boolean usePhotoPicker = isPhotoPickerAvailable();
|
||||
if (usePhotoPicker) {
|
||||
intent = new Intent(MediaStore.ACTION_PICK_IMAGES);
|
||||
intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, MediaStore.getPickImagesMaxLimit());
|
||||
} else {
|
||||
intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType("*/*");
|
||||
}
|
||||
if (!usePhotoPicker && instance.configuration != null &&
|
||||
instance.configuration.mediaAttachments != null &&
|
||||
instance.configuration.mediaAttachments.supportedMimeTypes != null &&
|
||||
!instance.configuration.mediaAttachments.supportedMimeTypes.isEmpty()) {
|
||||
intent.putExtra(Intent.EXTRA_MIME_TYPES,
|
||||
instance.configuration.mediaAttachments.supportedMimeTypes.toArray(
|
||||
new String[0]));
|
||||
} else {
|
||||
if (!usePhotoPicker) {
|
||||
// If photo picker is being used these are the default mimetypes.
|
||||
intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"image/*", "video/*"});
|
||||
}
|
||||
}
|
||||
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
|
||||
startActivityForResult(intent, MEDIA_RESULT);
|
||||
@@ -1252,7 +1307,8 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
View thumb=getActivity().getLayoutInflater().inflate(R.layout.compose_media_thumb, attachmentsView, false);
|
||||
ImageView img=thumb.findViewById(R.id.thumb);
|
||||
if(draft.serverAttachment!=null){
|
||||
ViewImageLoader.load(img, draft.serverAttachment.blurhashPlaceholder, new UrlImageLoaderRequest(draft.serverAttachment.previewUrl, V.dp(250), V.dp(250)));
|
||||
if(draft.serverAttachment.previewUrl!=null)
|
||||
ViewImageLoader.load(img, draft.serverAttachment.blurhashPlaceholder, new UrlImageLoaderRequest(draft.serverAttachment.previewUrl, V.dp(250), V.dp(250)));
|
||||
}else{
|
||||
if(draft.mimeType.startsWith("image/")){
|
||||
ViewImageLoader.load(img, null, new UrlImageLoaderRequest(draft.uri, V.dp(250), V.dp(250)));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -11,6 +12,7 @@ import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.requests.tags.GetFollowedHashtags;
|
||||
import org.joinmastodon.android.model.Hashtag;
|
||||
import org.joinmastodon.android.model.HeaderPaginationList;
|
||||
import org.joinmastodon.android.ui.DividerItemDecoration;
|
||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
|
||||
import me.grishka.appkit.api.SimpleCallback;
|
||||
@@ -41,6 +43,12 @@ public class FollowedHashtagsFragment extends BaseRecyclerFragment<Hashtag> impl
|
||||
loadData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
list.addItemDecoration(new DividerItemDecoration(getActivity(), R.attr.colorPollVoted, 0.5f, 56, 16));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLoadData(int offset, int count){
|
||||
currentRequest=new GetFollowedHashtags(offset==0 ? null : nextMaxID, null, count, null)
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.NotificationManager;
|
||||
import android.graphics.Outline;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -233,7 +234,11 @@ public class HomeFragment extends AppKitFragment implements OnBackPressedListene
|
||||
((NotificationsFragment) newFragment).loadData();
|
||||
// TODO make an interface?
|
||||
NotificationManager nm=getActivity().getSystemService(NotificationManager.class);
|
||||
nm.cancel(accountID, PushNotificationReceiver.NOTIFICATION_ID);
|
||||
for (StatusBarNotification notification : nm.getActiveNotifications()) {
|
||||
if (accountID.equals(notification.getTag())) {
|
||||
nm.cancel(accountID, notification.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ public class HomeTimelineFragment extends StatusListFragment{
|
||||
}
|
||||
|
||||
private List<Status> filterPosts(List<Status> items) {
|
||||
// This is the function I must use to solve the filters thing for real
|
||||
return items.stream().filter(i ->
|
||||
(GlobalUserPreferences.showReplies || i.inReplyToId == null) &&
|
||||
(GlobalUserPreferences.showBoosts || i.reblog == null)
|
||||
|
||||
@@ -4,18 +4,26 @@ import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.requests.lists.CreateList;
|
||||
import org.joinmastodon.android.api.requests.lists.UpdateList;
|
||||
import org.joinmastodon.android.api.requests.timelines.GetListTimeline;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.ui.M3AlertDialogBuilder;
|
||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
import org.joinmastodon.android.ui.views.ListTimelineEditor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.grishka.appkit.Nav;
|
||||
import me.grishka.appkit.api.Callback;
|
||||
import me.grishka.appkit.api.ErrorResponse;
|
||||
import me.grishka.appkit.api.SimpleCallback;
|
||||
import me.grishka.appkit.utils.V;
|
||||
|
||||
@@ -23,6 +31,7 @@ import me.grishka.appkit.utils.V;
|
||||
public class ListTimelineFragment extends StatusListFragment {
|
||||
private String listID;
|
||||
private String listTitle;
|
||||
private ListTimeline.RepliesPolicy repliesPolicy;
|
||||
private ImageButton fab;
|
||||
|
||||
public ListTimelineFragment() {
|
||||
@@ -32,8 +41,11 @@ public class ListTimelineFragment extends StatusListFragment {
|
||||
@Override
|
||||
public void onAttach(Activity activity){
|
||||
super.onAttach(activity);
|
||||
listID=getArguments().getString("listID");
|
||||
listTitle=getArguments().getString("listTitle");
|
||||
Bundle args = getArguments();
|
||||
listID = args.getString("listID");
|
||||
listTitle = args.getString("listTitle");
|
||||
repliesPolicy = ListTimeline.RepliesPolicy.values()[args.getInt("repliesPolicy", 0)];
|
||||
|
||||
setTitle(listTitle);
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
@@ -41,8 +53,48 @@ public class ListTimelineFragment extends StatusListFragment {
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
// TODO: implement edit, delete
|
||||
// inflater.inflate(R.menu.list, menu);
|
||||
inflater.inflate(R.menu.list, menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Bundle args = new Bundle();
|
||||
args.putString("listID", listID);
|
||||
if (item.getItemId() == R.id.edit) {
|
||||
ListTimelineEditor editor = new ListTimelineEditor(getContext());
|
||||
editor.applyList(listTitle, repliesPolicy);
|
||||
new M3AlertDialogBuilder(getActivity())
|
||||
.setTitle(R.string.sk_edit_list_title)
|
||||
.setIcon(R.drawable.ic_fluent_people_list_28_regular)
|
||||
.setView(editor)
|
||||
.setPositiveButton(R.string.save, (d, which) -> {
|
||||
new UpdateList(listID, editor.getTitle(), editor.getRepliesPolicy()).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(ListTimeline list) {
|
||||
setTitle(list.title);
|
||||
listTitle = list.title;
|
||||
repliesPolicy = list.repliesPolicy;
|
||||
args.putString("listTitle", listTitle);
|
||||
args.putInt("repliesPolicy", repliesPolicy.ordinal());
|
||||
setResult(true, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse error) {
|
||||
error.showToast(getContext());
|
||||
}
|
||||
}).exec(accountID);
|
||||
})
|
||||
.setNegativeButton(R.string.cancel, (d, which) -> {})
|
||||
.show();
|
||||
} else if (item.getItemId() == R.id.delete) {
|
||||
UiUtils.confirmDeleteList(getActivity(), accountID, listID, listTitle, () -> {
|
||||
args.putBoolean("deleted", true);
|
||||
setResult(true, args);
|
||||
Nav.finish(this);
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CheckBox;
|
||||
@@ -12,28 +15,37 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.api.requests.lists.AddAccountsToList;
|
||||
import org.joinmastodon.android.api.requests.lists.CreateList;
|
||||
import org.joinmastodon.android.api.requests.lists.GetLists;
|
||||
import org.joinmastodon.android.api.requests.lists.RemoveAccountsFromList;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
import org.joinmastodon.android.ui.DividerItemDecoration;
|
||||
import org.joinmastodon.android.ui.M3AlertDialogBuilder;
|
||||
import org.joinmastodon.android.ui.views.ListTimelineEditor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import me.grishka.appkit.Nav;
|
||||
import me.grishka.appkit.api.Callback;
|
||||
import me.grishka.appkit.api.ErrorResponse;
|
||||
import me.grishka.appkit.api.SimpleCallback;
|
||||
import me.grishka.appkit.fragments.BaseRecyclerFragment;
|
||||
import me.grishka.appkit.utils.BindableViewHolder;
|
||||
import me.grishka.appkit.views.UsableRecyclerView;
|
||||
|
||||
public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> implements ScrollableToTop {
|
||||
private static final int LIST_CHANGED_RESULT = 987;
|
||||
|
||||
private String accountId;
|
||||
private String profileAccountId;
|
||||
private String profileDisplayUsername;
|
||||
private HashMap<String, Boolean> userInListBefore = new HashMap<>();
|
||||
private HashMap<String, Boolean> userInList = new HashMap<>();
|
||||
private int inProgress = 0;
|
||||
private ListsAdapter adapter;
|
||||
|
||||
public ListTimelinesFragment() {
|
||||
super(10);
|
||||
@@ -44,12 +56,14 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
|
||||
super.onCreate(savedInstanceState);
|
||||
Bundle args=getArguments();
|
||||
accountId=args.getString("account");
|
||||
setHasOptionsMenu(true);
|
||||
|
||||
if(args.containsKey("profileAccount")){
|
||||
profileAccountId=args.getString("profileAccount");
|
||||
profileDisplayUsername=args.getString("profileDisplayUsername");
|
||||
setTitle(getString(R.string.sk_lists_with_user, profileDisplayUsername));
|
||||
// setHasOptionsMenu(true);
|
||||
} else {
|
||||
setTitle(R.string.sk_your_lists);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,20 +74,45 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
|
||||
loadData();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
// Button saveButton=new Button(getActivity());
|
||||
// saveButton.setText(R.string.save);
|
||||
// saveButton.setOnClickListener(this::onSaveClick);
|
||||
// LinearLayout wrap=new LinearLayout(getActivity());
|
||||
// wrap.setOrientation(LinearLayout.HORIZONTAL);
|
||||
// wrap.addView(saveButton, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
// wrap.setPadding(V.dp(16), V.dp(4), V.dp(16), V.dp(8));
|
||||
// wrap.setClipToPadding(false);
|
||||
// MenuItem item=menu.add(R.string.save);
|
||||
// item.setActionView(wrap);
|
||||
// item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||
// }
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
list.addItemDecoration(new DividerItemDecoration(getActivity(), R.attr.colorPollVoted, 0.5f, 56, 16));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.menu_list, menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == R.id.create) {
|
||||
ListTimelineEditor editor = new ListTimelineEditor(getContext());
|
||||
new M3AlertDialogBuilder(getActivity())
|
||||
.setTitle(R.string.sk_create_list_title)
|
||||
.setIcon(R.drawable.ic_fluent_people_add_28_regular)
|
||||
.setView(editor)
|
||||
.setPositiveButton(R.string.sk_create, (d, which) -> {
|
||||
new CreateList(editor.getTitle(), editor.getRepliesPolicy()).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(ListTimeline list) {
|
||||
saveListMembership(list.id, true);
|
||||
data.add(0, list);
|
||||
adapter.notifyItemRangeInserted(0, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse error) {
|
||||
error.showToast(getContext());
|
||||
}
|
||||
}).exec(accountId);
|
||||
})
|
||||
.setNegativeButton(R.string.cancel, (d, which) -> {})
|
||||
.show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void saveListMembership(String listId, boolean isMember) {
|
||||
userInList.put(listId, isMember);
|
||||
@@ -118,8 +157,29 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RecyclerView.Adapter getAdapter() {
|
||||
return new ListsAdapter();
|
||||
public void onFragmentResult(int reqCode, boolean listChanged, Bundle result){
|
||||
if (reqCode == LIST_CHANGED_RESULT && listChanged) {
|
||||
String listID = result.getString("listID");
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
ListTimeline item = data.get(i);
|
||||
if (item.id.equals(listID)) {
|
||||
if (result.getBoolean("deleted")) {
|
||||
data.remove(i);
|
||||
adapter.notifyItemRemoved(i);
|
||||
} else {
|
||||
item.title = result.getString("listTitle", item.title);
|
||||
item.repliesPolicy = ListTimeline.RepliesPolicy.values()[result.getInt("repliesPolicy")];
|
||||
adapter.notifyItemChanged(i);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RecyclerView.Adapter<ListViewHolder> getAdapter() {
|
||||
return adapter = new ListsAdapter();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -158,7 +218,7 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
|
||||
@Override
|
||||
public void onBind(ListTimeline item) {
|
||||
title.setText(item.title);
|
||||
title.setCompoundDrawablesRelativeWithIntrinsicBounds(itemView.getContext().getDrawable(R.drawable.ic_fluent_people_community_24_regular), null, null, null);
|
||||
title.setCompoundDrawablesRelativeWithIntrinsicBounds(itemView.getContext().getDrawable(R.drawable.ic_fluent_people_list_24_regular), null, null, null);
|
||||
if (profileAccountId != null) {
|
||||
Boolean checked = userInList.get(item.id);
|
||||
listToggle.setVisibility(View.VISIBLE);
|
||||
@@ -175,7 +235,12 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
|
||||
|
||||
@Override
|
||||
public void onClick() {
|
||||
UiUtils.openListTimeline(getActivity(), accountId, item);
|
||||
Bundle args=new Bundle();
|
||||
args.putString("account", accountId);
|
||||
args.putString("listID", item.id);
|
||||
args.putString("listTitle", item.title);
|
||||
args.putInt("repliesPolicy", item.repliesPolicy.ordinal());
|
||||
Nav.goForResult(getActivity(), ListTimelineFragment.class, args, LIST_CHANGED_RESULT, ListTimelinesFragment.this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.joinmastodon.android.fragments;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
@@ -12,11 +13,23 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.api.requests.accounts.SetPrivateNote;
|
||||
import org.joinmastodon.android.model.AccountField;
|
||||
import org.joinmastodon.android.model.Relationship;
|
||||
import org.joinmastodon.android.ui.BetterItemAnimator;
|
||||
import org.joinmastodon.android.ui.text.CustomEmojiSpan;
|
||||
import org.joinmastodon.android.ui.utils.SimpleTextWatcher;
|
||||
@@ -26,11 +39,8 @@ import org.joinmastodon.android.ui.views.LinkedTextView;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import me.grishka.appkit.api.Callback;
|
||||
import me.grishka.appkit.api.ErrorResponse;
|
||||
import me.grishka.appkit.fragments.WindowInsetsAwareFragment;
|
||||
import me.grishka.appkit.imageloader.ImageLoaderRecyclerAdapter;
|
||||
import me.grishka.appkit.imageloader.ImageLoaderViewHolder;
|
||||
@@ -46,6 +56,11 @@ public class ProfileAboutFragment extends Fragment implements WindowInsetsAwareF
|
||||
private static final int MAX_FIELDS=4;
|
||||
|
||||
public UsableRecyclerView list;
|
||||
public FrameLayout noteWrap;
|
||||
public EditText noteEdit;
|
||||
private String accountID;
|
||||
private String profileAccountID;
|
||||
private String note;
|
||||
private List<AccountField> fields=Collections.emptyList();
|
||||
private AboutAdapter adapter;
|
||||
private Paint dividerPaint=new Paint();
|
||||
@@ -64,11 +79,49 @@ public class ProfileAboutFragment extends Fragment implements WindowInsetsAwareF
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setNote(String note, String accountID, String profileAccountID){
|
||||
this.note=note;
|
||||
this.accountID=accountID;
|
||||
this.profileAccountID=profileAccountID;
|
||||
// noteWrap.setVisibility(View.VISIBLE);
|
||||
// noteEdit.setVisibility(View.VISIBLE);
|
||||
// noteEdit.setText(note);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState){
|
||||
list=new UsableRecyclerView(getActivity());
|
||||
list.setId(R.id.list);
|
||||
View view = inflater.inflate(R.layout.fragment_profile_about, null);
|
||||
|
||||
noteEdit = view.findViewById(R.id.note_edit);
|
||||
noteWrap = view.findViewById(R.id.note_edit_wrap);
|
||||
ImageButton noteEditConfirm = view.findViewById(R.id.note_edit_confirm);
|
||||
|
||||
|
||||
noteEdit.setOnFocusChangeListener((v, hasFocus) -> {
|
||||
if (hasFocus) {
|
||||
noteEditConfirm.setVisibility(View.VISIBLE);
|
||||
noteEditConfirm.animate()
|
||||
.alpha(1.0f)
|
||||
.setDuration(700);
|
||||
} else {
|
||||
noteEditConfirm.animate()
|
||||
.alpha(0.0f)
|
||||
.setDuration(700);
|
||||
noteEditConfirm.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
});
|
||||
|
||||
noteEditConfirm.setOnClickListener((v -> {
|
||||
if (!noteEdit.getText().toString().trim().equals(note)) {
|
||||
savePrivateNote();
|
||||
}
|
||||
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromWindow(this.getView().getRootView().getWindowToken(), 0);
|
||||
noteEdit.clearFocus();
|
||||
}));
|
||||
|
||||
list = view.findViewById(R.id.list);
|
||||
list.setItemAnimator(new BetterItemAnimator());
|
||||
list.setDrawSelectorOnTop(true);
|
||||
list.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
@@ -95,8 +148,20 @@ public class ProfileAboutFragment extends Fragment implements WindowInsetsAwareF
|
||||
}
|
||||
}
|
||||
});
|
||||
return list;
|
||||
return view;
|
||||
}
|
||||
private void savePrivateNote(){
|
||||
new SetPrivateNote(profileAccountID, noteEdit.getText().toString()).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Relationship result) {}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse result) {
|
||||
Toast.makeText(getActivity(), getString(R.string.sk_personal_note_update_failed), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}).exec(accountID);
|
||||
}
|
||||
|
||||
|
||||
public void enterEditMode(List<AccountField> editableFields){
|
||||
isInEditMode=true;
|
||||
|
||||
@@ -27,13 +27,16 @@ import android.view.ViewGroup;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -48,6 +51,7 @@ import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
|
||||
import org.joinmastodon.android.api.requests.accounts.GetAccountStatuses;
|
||||
import org.joinmastodon.android.api.requests.accounts.GetOwnAccount;
|
||||
import org.joinmastodon.android.api.requests.accounts.SetAccountFollowed;
|
||||
import org.joinmastodon.android.api.requests.accounts.SetPrivateNote;
|
||||
import org.joinmastodon.android.api.requests.accounts.UpdateAccountCredentials;
|
||||
import org.joinmastodon.android.api.session.AccountSessionManager;
|
||||
import org.joinmastodon.android.fragments.account_list.FollowerListFragment;
|
||||
@@ -115,6 +119,9 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
private TabLayoutMediator tabLayoutMediator;
|
||||
private TextView followsYouView;
|
||||
|
||||
public FrameLayout noteWrap;
|
||||
public EditText noteEdit;
|
||||
private String note;
|
||||
private Account account;
|
||||
private String accountID;
|
||||
private Relationship relationship;
|
||||
@@ -200,6 +207,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
fab=content.findViewById(R.id.fab);
|
||||
followsYouView=content.findViewById(R.id.follows_you);
|
||||
|
||||
noteEdit = content.findViewById(R.id.note_edit);
|
||||
noteWrap = content.findViewById(R.id.note_edit_wrap);
|
||||
Button noteEditConfirm = content.findViewById(R.id.note_edit_confirm);
|
||||
|
||||
avatar.setOutlineProvider(new ViewOutlineProvider(){
|
||||
@Override
|
||||
public void getOutline(View view, Outline outline){
|
||||
@@ -208,6 +219,31 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
});
|
||||
avatar.setClipToOutline(true);
|
||||
|
||||
noteEdit.setOnFocusChangeListener((v, hasFocus) -> {
|
||||
if (hasFocus) {
|
||||
fab.setVisibility(View.GONE);
|
||||
noteEditConfirm.setVisibility(View.VISIBLE);
|
||||
noteEditConfirm.animate()
|
||||
.alpha(1.0f)
|
||||
.setDuration(700);
|
||||
} else {
|
||||
fab.setVisibility(View.VISIBLE);
|
||||
noteEditConfirm.animate()
|
||||
.alpha(0.0f)
|
||||
.setDuration(700);
|
||||
noteEditConfirm.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
});
|
||||
|
||||
noteEditConfirm.setOnClickListener((v -> {
|
||||
if (!noteEdit.getText().toString().trim().equals(note)) {
|
||||
savePrivateNote();
|
||||
}
|
||||
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromWindow(this.getView().getRootView().getWindowToken(), 0);
|
||||
noteEdit.clearFocus();
|
||||
}));
|
||||
|
||||
FrameLayout sizeWrapper=new FrameLayout(getActivity()){
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
|
||||
@@ -286,10 +322,6 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
followersBtn.setOnClickListener(this::onFollowersOrFollowingClick);
|
||||
followingBtn.setOnClickListener(this::onFollowersOrFollowingClick);
|
||||
|
||||
if (account != null && account.bot) {
|
||||
username.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_fluent_bot_24_filled, 0, 0, 0);
|
||||
}
|
||||
|
||||
username.setOnLongClickListener(v->{
|
||||
String usernameString=account.acct;
|
||||
if(!usernameString.contains("@")){
|
||||
@@ -302,6 +334,25 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
return sizeWrapper;
|
||||
}
|
||||
|
||||
public void setNote(String note){
|
||||
this.note=note;
|
||||
noteWrap.setVisibility(View.VISIBLE);
|
||||
noteEdit.setVisibility(View.VISIBLE);
|
||||
noteEdit.setText(note);
|
||||
}
|
||||
|
||||
private void savePrivateNote(){
|
||||
new SetPrivateNote(profileAccountID, noteEdit.getText().toString()).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Relationship result) {}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse result) {
|
||||
Toast.makeText(getActivity(), getString(R.string.sk_personal_note_update_failed), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}).exec(accountID);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLoadData(){
|
||||
currentRequest=new GetAccountByID(profileAccountID)
|
||||
@@ -449,6 +500,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
|
||||
boolean isSelf=AccountSessionManager.getInstance().isSelf(accountID, account);
|
||||
|
||||
|
||||
if(account.locked){
|
||||
ssb=new SpannableStringBuilder("@");
|
||||
ssb.append(account.acct);
|
||||
@@ -462,6 +514,19 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
lock.setTint(username.getCurrentTextColor());
|
||||
ssb.append(getString(R.string.manually_approves_followers), new ImageSpan(lock, ImageSpan.ALIGN_BASELINE), 0);
|
||||
username.setText(ssb);
|
||||
}else if(account.bot){
|
||||
ssb=new SpannableStringBuilder("@");
|
||||
ssb.append(account.acct);
|
||||
if(isSelf){
|
||||
ssb.append('@');
|
||||
ssb.append(AccountSessionManager.getInstance().getAccount(accountID).domain);
|
||||
}
|
||||
ssb.append(" ");
|
||||
Drawable botIcon=username.getResources().getDrawable(R.drawable.ic_bot, getActivity().getTheme()).mutate();
|
||||
botIcon.setBounds(0, 0, botIcon.getIntrinsicWidth(), botIcon.getIntrinsicHeight());
|
||||
botIcon.setTint(username.getCurrentTextColor());
|
||||
ssb.append(getString(R.string.manually_approves_followers), new ImageSpan(botIcon, ImageSpan.ALIGN_BASELINE), 0);
|
||||
username.setText(ssb);
|
||||
}else{
|
||||
// noinspection SetTextI18n
|
||||
username.setText('@'+account.acct+(isSelf ? ('@'+AccountSessionManager.getInstance().getAccount(accountID).domain) : ""));
|
||||
@@ -473,6 +538,8 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
bio.setVisibility(View.VISIBLE);
|
||||
bio.setText(parsedBio);
|
||||
}
|
||||
|
||||
|
||||
followersCount.setText(UiUtils.abbreviateNumber(account.followersCount));
|
||||
followingCount.setText(UiUtils.abbreviateNumber(account.followingCount));
|
||||
postsCount.setText(UiUtils.abbreviateNumber(account.statusesCount));
|
||||
@@ -553,7 +620,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
return;
|
||||
inflater.inflate(isOwnProfile ? R.menu.profile_own : R.menu.profile, menu);
|
||||
if(isOwnProfile){
|
||||
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.bookmarks, R.id.followed_hashtags, R.id.favorites, R.id.scheduled, R.id.share);
|
||||
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.manage_user_lists, R.id.bookmarks, R.id.followed_hashtags, R.id.favorites, R.id.scheduled, R.id.share);
|
||||
}else{
|
||||
UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.bookmarks, R.id.followed_hashtags, R.id.favorites, R.id.scheduled);
|
||||
}
|
||||
@@ -568,17 +635,16 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
|
||||
menu.findItem(R.id.block).setTitle(getString(relationship.blocking ? R.string.unblock_user : R.string.block_user, account.getShortUsername()));
|
||||
menu.findItem(R.id.report).setTitle(getString(R.string.report_user, account.getShortUsername()));
|
||||
MenuItem manageUserLists=menu.findItem(R.id.manage_user_lists);
|
||||
menu.findItem(R.id.manage_user_lists).setVisible(relationship.following);
|
||||
menu.findItem(R.id.soft_block).setVisible(relationship.followedBy && !relationship.following);
|
||||
if(relationship.following) {
|
||||
MenuItem hideBoosts = menu.findItem(R.id.hide_boosts);
|
||||
hideBoosts.setTitle(getString(relationship.showingReblogs ? R.string.hide_boosts_from_user : R.string.show_boosts_from_user, account.getShortUsername()));
|
||||
hideBoosts.setIcon(relationship.showingReblogs ? R.drawable.ic_fluent_arrow_repeat_all_off_24_regular : R.drawable.ic_fluent_arrow_repeat_all_24_regular);
|
||||
UiUtils.insetPopupMenuIcon(getContext(), hideBoosts);
|
||||
manageUserLists.setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername()));
|
||||
manageUserLists.setVisible(true);
|
||||
menu.findItem(R.id.manage_user_lists).setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername()));
|
||||
}else {
|
||||
menu.findItem(R.id.hide_boosts).setVisible(false);
|
||||
manageUserLists.setVisible(false);
|
||||
}
|
||||
if(!account.isLocal())
|
||||
menu.findItem(R.id.block_domain).setTitle(getString(relationship.domainBlocking ? R.string.unblock_domain : R.string.block_domain, account.getDomain()));
|
||||
@@ -598,6 +664,8 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
confirmToggleMuted();
|
||||
}else if(id==R.id.block){
|
||||
confirmToggleBlocked();
|
||||
}else if(id==R.id.soft_block){
|
||||
confirmSoftBlockUser();
|
||||
}else if(id==R.id.report){
|
||||
Bundle args=new Bundle();
|
||||
args.putString("account", accountID);
|
||||
@@ -636,8 +704,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
}else if(id==R.id.manage_user_lists){
|
||||
final Bundle args=new Bundle();
|
||||
args.putString("account", accountID);
|
||||
args.putString("profileAccount", profileAccountID);
|
||||
args.putString("profileDisplayUsername", account.getDisplayUsername());
|
||||
if (!isOwnProfile) {
|
||||
args.putString("profileAccount", profileAccountID);
|
||||
args.putString("profileDisplayUsername", account.getDisplayUsername());
|
||||
}
|
||||
Nav.go(getActivity(), ListTimelinesFragment.class, args);
|
||||
}else if(id==R.id.followed_hashtags){
|
||||
Bundle args=new Bundle();
|
||||
@@ -685,6 +755,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
notifyProgress.setIndeterminateTintList(notifyButton.getTextColors());
|
||||
followsYouView.setVisibility(relationship.followedBy ? View.VISIBLE : View.GONE);
|
||||
notifyButton.setSelected(relationship.notifying);
|
||||
if (!isOwnProfile) {
|
||||
setNote(relationship.note);
|
||||
aboutFragment.setNote(relationship.note, accountID, profileAccountID);
|
||||
}
|
||||
if (getActivity() != null) notifyButton.setContentDescription(getString(relationship.notifying ? R.string.sk_user_post_notifications_on : R.string.sk_user_post_notifications_off, '@'+account.username));
|
||||
}
|
||||
|
||||
@@ -902,6 +976,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
UiUtils.confirmToggleBlockUser(getActivity(), accountID, account, relationship.blocking, this::updateRelationship);
|
||||
}
|
||||
|
||||
private void confirmSoftBlockUser(){
|
||||
UiUtils.confirmSoftBlockUser(getActivity(), accountID, account, this::updateRelationship);
|
||||
}
|
||||
|
||||
private void updateRelationship(Relationship r){
|
||||
relationship=r;
|
||||
updateRelationship();
|
||||
@@ -909,6 +987,9 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
||||
|
||||
@Override
|
||||
public boolean onBackPressed(){
|
||||
if(noteEdit.hasFocus()) {
|
||||
savePrivateNote();
|
||||
}
|
||||
if(isInEditMode){
|
||||
exitEditMode();
|
||||
return true;
|
||||
|
||||
@@ -69,7 +69,7 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment<Schedule
|
||||
|
||||
@Override
|
||||
protected List<StatusDisplayItem> buildDisplayItems(ScheduledStatus s) {
|
||||
return StatusDisplayItem.buildItems(this, s.toStatus(), accountID, s, knownAccounts, false, false, null);
|
||||
return StatusDisplayItem.buildItems(this, s.toStatus(), accountID, s, knownAccounts, false, false, null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -53,6 +53,7 @@ import org.joinmastodon.android.model.PushSubscription;
|
||||
import org.joinmastodon.android.ui.M3AlertDialogBuilder;
|
||||
import org.joinmastodon.android.ui.OutlineProviders;
|
||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
import org.joinmastodon.android.ui.views.TextInputFrameLayout;
|
||||
import org.joinmastodon.android.updater.GithubSelfUpdater;
|
||||
import org.parceler.Parcels;
|
||||
|
||||
@@ -84,7 +85,8 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
private PushSubscription pushSubscription;
|
||||
|
||||
private ImageView themeTransitionWindowView;
|
||||
private TextItem checkForUpdateItem;
|
||||
private TextItem checkForUpdateItem, clearImageCacheItem;
|
||||
private ImageCache imageCache;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState){
|
||||
@@ -92,6 +94,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N)
|
||||
setRetainInstance(true);
|
||||
setTitle(R.string.settings);
|
||||
imageCache = ImageCache.getInstance(getActivity());
|
||||
accountID=getArguments().getString("account");
|
||||
AccountSession session=AccountSessionManager.getInstance().getAccount(accountID);
|
||||
Instance instance = AccountSessionManager.getInstance().getInstanceInfo(session.domain);
|
||||
@@ -112,6 +115,14 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
GlobalUserPreferences.disableMarquee=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_settings_uniform_icon_for_notifications, R.drawable.ic_ntf_logo, GlobalUserPreferences.uniformNotificationIcon, i->{
|
||||
GlobalUserPreferences.uniformNotificationIcon=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.reduceMotion, i->{
|
||||
GlobalUserPreferences.reduceMotion=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new ButtonItem(R.string.sk_settings_color_palette, R.drawable.ic_fluent_color_24_regular, b->{
|
||||
PopupMenu popupMenu=new PopupMenu(getActivity(), b, Gravity.CENTER_HORIZONTAL);
|
||||
popupMenu.inflate(R.menu.color_palettes);
|
||||
@@ -139,40 +150,33 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
Toast.LENGTH_LONG).show();
|
||||
});
|
||||
} else {
|
||||
b.setOnClickListener(l -> {
|
||||
FrameLayout inputWrap = new FrameLayout(getContext());
|
||||
EditText input = new EditText(getContext());
|
||||
input.setHint(R.string.publish);
|
||||
input.setText(GlobalUserPreferences.publishButtonText.trim());
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params.setMargins(V.dp(16), V.dp(4), V.dp(16), V.dp(16));
|
||||
input.setLayoutParams(params);
|
||||
inputWrap.addView(input);
|
||||
new M3AlertDialogBuilder(getContext()).setTitle(R.string.sk_settings_publish_button_text_title).setView(inputWrap)
|
||||
.setPositiveButton(R.string.save, (d, which) -> {
|
||||
GlobalUserPreferences.publishButtonText = input.getText().toString().trim();
|
||||
GlobalUserPreferences.save();
|
||||
updatePublishText(b);
|
||||
})
|
||||
.setNeutralButton(R.string.clear, (d, which) -> {
|
||||
GlobalUserPreferences.publishButtonText = "";
|
||||
GlobalUserPreferences.save();
|
||||
updatePublishText(b);
|
||||
})
|
||||
.setNegativeButton(R.string.cancel, (d, which) -> {
|
||||
})
|
||||
.show();
|
||||
});}
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_settings_uniform_icon_for_notifications, R.drawable.ic_ntf_logo, GlobalUserPreferences.uniformNotificationIcon, i->{
|
||||
GlobalUserPreferences.uniformNotificationIcon=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.reduceMotion, i->{
|
||||
GlobalUserPreferences.reduceMotion=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
b.setOnClickListener(l -> {
|
||||
FrameLayout inputWrap = new FrameLayout(getContext());
|
||||
EditText input = new EditText(getContext());
|
||||
input.setHint(R.string.publish);
|
||||
input.setText(GlobalUserPreferences.publishButtonText.trim());
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params.setMargins(V.dp(16), V.dp(4), V.dp(16), V.dp(16));
|
||||
input.setLayoutParams(params);
|
||||
inputWrap.addView(input);
|
||||
new M3AlertDialogBuilder(getContext()).setTitle(R.string.sk_settings_publish_button_text_title).setView(inputWrap)
|
||||
.setPositiveButton(R.string.save, (d, which) -> {
|
||||
GlobalUserPreferences.publishButtonText = input.getText().toString().trim();
|
||||
GlobalUserPreferences.save();
|
||||
updatePublishText(b);
|
||||
})
|
||||
.setNeutralButton(R.string.clear, (d, which) -> {
|
||||
GlobalUserPreferences.publishButtonText = "";
|
||||
GlobalUserPreferences.save();
|
||||
updatePublishText(b);
|
||||
})
|
||||
.setNegativeButton(R.string.cancel, (d, which) -> {
|
||||
})
|
||||
.show();
|
||||
});}
|
||||
}));
|
||||
|
||||
|
||||
items.add(new HeaderItem(R.string.settings_behavior));
|
||||
items.add(new SwitchItem(R.string.sk_settings_show_federated_timeline, R.drawable.ic_fluent_earth_24_regular, GlobalUserPreferences.showFederatedTimeline, i->{
|
||||
GlobalUserPreferences.showFederatedTimeline=i.checked;
|
||||
@@ -243,7 +247,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
items.add(new SwitchItem(R.string.notify_reblog, R.drawable.ic_fluent_arrow_repeat_all_24_regular, pushSubscription.alerts.reblog, i->onNotificationsChanged(PushNotification.Type.REBLOG, i.checked)));
|
||||
items.add(new SwitchItem(R.string.notify_mention, R.drawable.ic_fluent_mention_24_regular, pushSubscription.alerts.mention, i->onNotificationsChanged(PushNotification.Type.MENTION, i.checked)));
|
||||
items.add(new SwitchItem(R.string.sk_notify_posts, R.drawable.ic_fluent_alert_24_regular, pushSubscription.alerts.status, i->onNotificationsChanged(PushNotification.Type.STATUS, i.checked)));
|
||||
items.add(new SwitchItem(R.string.sk_keep_only_latest_notification, R.drawable.ic_fluent_custom_alert_latest_24_regular, GlobalUserPreferences.keepOnlyLatestNotification, i->{
|
||||
items.add(new SwitchItem(R.string.sk_settings_single_notification, R.drawable.ic_fluent_convert_range_24_regular, GlobalUserPreferences.keepOnlyLatestNotification, i->{
|
||||
GlobalUserPreferences.keepOnlyLatestNotification=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
@@ -260,6 +264,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
args.putParcelable("instance", Parcels.wrap(instance));
|
||||
Nav.go(getActivity(), InstanceRulesFragment.class, args);
|
||||
}, R.drawable.ic_fluent_task_list_ltr_24_regular));
|
||||
items.add(new TextItem(R.string.sk_settings_about_instance , ()->UiUtils.launchWebBrowser(getActivity(), "https://"+session.domain+"/about"), R.drawable.ic_fluent_info_24_regular));
|
||||
items.add(new TextItem(R.string.settings_tos, ()->UiUtils.launchWebBrowser(getActivity(), "https://"+session.domain+"/terms"), R.drawable.ic_fluent_open_24_regular));
|
||||
items.add(new TextItem(R.string.settings_privacy_policy, ()->UiUtils.launchWebBrowser(getActivity(), "https://"+session.domain+"/terms"), R.drawable.ic_fluent_open_24_regular));
|
||||
items.add(new TextItem(R.string.log_out, this::confirmLogOut, R.drawable.ic_fluent_sign_out_24_regular));
|
||||
@@ -278,7 +283,9 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
items.add(new TextItem(R.string.sk_settings_contribute, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon"), R.drawable.ic_fluent_open_24_regular));
|
||||
items.add(new TextItem(R.string.sk_settings_donate, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sponsors/LucasGGamerM"), R.drawable.ic_fluent_heart_24_regular));
|
||||
items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache));
|
||||
// items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache));
|
||||
clearImageCacheItem = new TextItem(R.string.settings_clear_cache, UiUtils.formatFileSize(getContext(), imageCache.getDiskCache().size(), true), this::clearImageCache, 0);
|
||||
items.add(clearImageCacheItem);
|
||||
items.add(new TextItem(R.string.sk_clear_recent_languages, ()->UiUtils.showConfirmationAlert(getActivity(), R.string.sk_clear_recent_languages, R.string.sk_confirm_clear_recent_languages, R.string.clear, ()->{
|
||||
GlobalUserPreferences.recentLanguages.remove(accountID);
|
||||
GlobalUserPreferences.save();
|
||||
@@ -527,9 +534,13 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
private void clearImageCache(){
|
||||
MastodonAPIController.runInBackground(()->{
|
||||
Activity activity=getActivity();
|
||||
ImageCache.getInstance(getActivity()).clear();
|
||||
imageCache.clear();
|
||||
Toast.makeText(activity, R.string.media_cache_cleared, Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
if (list.findViewHolderForAdapterPosition(items.indexOf(clearImageCacheItem)) instanceof TextViewHolder tvh) {
|
||||
clearImageCacheItem.secondaryText = UiUtils.formatFileSize(getContext(), 0, true);
|
||||
tvh.rebind();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@@ -660,27 +671,29 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
|
||||
private class TextItem extends Item{
|
||||
private String text;
|
||||
private String secondaryText;
|
||||
private Runnable onClick;
|
||||
private boolean loading;
|
||||
private int icon;
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick) {
|
||||
this(text, onClick, false, 0);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, boolean loading) {
|
||||
this(text, onClick, loading, 0);
|
||||
this(text, null, onClick, false, 0);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, @DrawableRes int icon) {
|
||||
this(text, onClick, false, icon);
|
||||
this(text, null, onClick, false, icon);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, boolean loading, @DrawableRes int icon){
|
||||
public TextItem(@StringRes int text, String secondaryText, Runnable onClick, @DrawableRes int icon) {
|
||||
this(text, secondaryText, onClick, false, icon);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, String secondaryText, Runnable onClick, boolean loading, @DrawableRes int icon){
|
||||
this.text=getString(text);
|
||||
this.onClick=onClick;
|
||||
this.loading=loading;
|
||||
this.icon=icon;
|
||||
this.secondaryText = secondaryText;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -932,22 +945,27 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
|
||||
private class TextViewHolder extends BindableViewHolder<TextItem> implements UsableRecyclerView.Clickable{
|
||||
private final TextView text;
|
||||
private final TextView text, secondaryText;
|
||||
private final ProgressBar progress;
|
||||
private final ImageView icon;
|
||||
|
||||
public TextViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_text, list);
|
||||
text = itemView.findViewById(R.id.text);
|
||||
secondaryText = itemView.findViewById(R.id.secondary_text);
|
||||
progress = itemView.findViewById(R.id.progress);
|
||||
icon = itemView.findViewById(R.id.icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBind(TextItem item){
|
||||
icon.setVisibility(item.icon != 0 ? View.VISIBLE : View.GONE);
|
||||
secondaryText.setVisibility(item.secondaryText != null ? View.VISIBLE : View.GONE);
|
||||
|
||||
text.setText(item.text);
|
||||
progress.animate().alpha(item.loading ? 1 : 0);
|
||||
if (item.icon != 0) icon.setImageDrawable(getActivity().getTheme().getDrawable(item.icon));
|
||||
icon.setImageResource(item.icon);
|
||||
secondaryText.setText(item.secondaryText);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -225,6 +225,7 @@ public abstract class BaseAccountListFragment extends BaseRecyclerFragment<BaseA
|
||||
contextMenu=new PopupMenu(getActivity(), menuAnchor);
|
||||
contextMenu.inflate(R.menu.profile);
|
||||
contextMenu.setOnMenuItemClickListener(this::onContextMenuItemSelected);
|
||||
UiUtils.enablePopupMenuIcons(getActivity(), contextMenu);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -283,29 +284,32 @@ public abstract class BaseAccountListFragment extends BaseRecyclerFragment<BaseA
|
||||
Menu menu=contextMenu.getMenu();
|
||||
Account account=item.account;
|
||||
|
||||
menu.findItem(R.id.share).setTitle(getString(R.string.share_user, account.getDisplayUsername()));
|
||||
menu.findItem(R.id.mute).setTitle(getString(relationship.muting ? R.string.unmute_user : R.string.mute_user, account.getDisplayUsername()));
|
||||
menu.findItem(R.id.block).setTitle(getString(relationship.blocking ? R.string.unblock_user : R.string.block_user, account.getDisplayUsername()));
|
||||
menu.findItem(R.id.report).setTitle(getString(R.string.report_user, account.getDisplayUsername()));
|
||||
menu.findItem(R.id.manage_user_lists).setTitle(getString(R.string.sk_lists_with_user, account.getDisplayUsername())).setVisible(relationship.following);
|
||||
menu.findItem(R.id.share).setTitle(getString(R.string.share_user, account.getShortUsername()));
|
||||
|
||||
MenuItem mute = menu.findItem(R.id.mute);
|
||||
mute.setTitle(getString(relationship.muting ? R.string.unmute_user : R.string.mute_user, account.getShortUsername()));
|
||||
mute.setIcon(relationship.muting ? R.drawable.ic_fluent_speaker_0_24_regular : R.drawable.ic_fluent_speaker_off_24_regular);
|
||||
UiUtils.insetPopupMenuIcon(getContext(), mute);
|
||||
|
||||
menu.findItem(R.id.block).setTitle(getString(relationship.blocking ? R.string.unblock_user : R.string.block_user, account.getShortUsername()));
|
||||
menu.findItem(R.id.report).setTitle(getString(R.string.report_user, account.getShortUsername()));
|
||||
menu.findItem(R.id.manage_user_lists).setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername())).setVisible(relationship.following);
|
||||
menu.findItem(R.id.soft_block).setVisible(relationship.followedBy && !relationship.following);
|
||||
MenuItem hideBoosts=menu.findItem(R.id.hide_boosts);
|
||||
MenuItem manageUserLists=menu.findItem(R.id.manage_user_lists);
|
||||
if(relationship.following){
|
||||
hideBoosts.setTitle(getString(relationship.showingReblogs ? R.string.hide_boosts_from_user : R.string.show_boosts_from_user, account.getDisplayUsername()));
|
||||
hideBoosts.setTitle(getString(relationship.showingReblogs ? R.string.hide_boosts_from_user : R.string.show_boosts_from_user, account.getShortUsername()));
|
||||
hideBoosts.setIcon(relationship.showingReblogs ? R.drawable.ic_fluent_arrow_repeat_all_off_24_regular : R.drawable.ic_fluent_arrow_repeat_all_24_regular);
|
||||
hideBoosts.setVisible(true);
|
||||
manageUserLists.setTitle(getString(R.string.sk_lists_with_user, account.getDisplayUsername()));
|
||||
UiUtils.insetPopupMenuIcon(getContext(), hideBoosts);
|
||||
|
||||
manageUserLists.setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername()));
|
||||
manageUserLists.setVisible(true);
|
||||
}else{
|
||||
hideBoosts.setVisible(false);
|
||||
manageUserLists.setVisible(true);
|
||||
}
|
||||
MenuItem blockDomain=menu.findItem(R.id.block_domain);
|
||||
if(!account.isLocal()){
|
||||
blockDomain.setTitle(getString(relationship.domainBlocking ? R.string.unblock_domain : R.string.block_domain, account.getDomain()));
|
||||
blockDomain.setVisible(true);
|
||||
}else{
|
||||
blockDomain.setVisible(false);
|
||||
}
|
||||
menu.findItem(R.id.block_domain).setVisible(false);
|
||||
|
||||
menuAnchor.setTranslationX(x);
|
||||
menuAnchor.setTranslationY(y);
|
||||
@@ -346,6 +350,8 @@ public abstract class BaseAccountListFragment extends BaseRecyclerFragment<BaseA
|
||||
UiUtils.confirmToggleMuteUser(getActivity(), accountID, account, relationship.muting, this::updateRelationship);
|
||||
}else if(id==R.id.block){
|
||||
UiUtils.confirmToggleBlockUser(getActivity(), accountID, account, relationship.blocking, this::updateRelationship);
|
||||
}else if(id==R.id.soft_block){
|
||||
UiUtils.confirmSoftBlockUser(getActivity(), accountID, account, this::updateRelationship);
|
||||
}else if(id==R.id.report){
|
||||
Bundle args=new Bundle();
|
||||
args.putString("account", accountID);
|
||||
|
||||
@@ -17,11 +17,11 @@ public class DiscoverPostsFragment extends StatusListFragment{
|
||||
|
||||
@Override
|
||||
protected void doLoadData(int offset, int count){
|
||||
currentRequest=new GetTrendingStatuses(count)
|
||||
currentRequest=new GetTrendingStatuses(offset, count)
|
||||
.setCallback(new SimpleCallback<>(this){
|
||||
@Override
|
||||
public void onSuccess(List<Status> result){
|
||||
onDataLoaded(result, false);
|
||||
onDataLoaded(result, !result.isEmpty());
|
||||
}
|
||||
}).exec(accountID);
|
||||
}
|
||||
|
||||
@@ -14,9 +14,11 @@ import org.parceler.Parcel;
|
||||
import org.parceler.ParcelConstructor;
|
||||
import org.parceler.ParcelProperty;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Parcel
|
||||
public class Attachment extends BaseModel{
|
||||
@RequiredField
|
||||
// @RequiredField
|
||||
public String id;
|
||||
@RequiredField
|
||||
public Type type;
|
||||
@@ -85,6 +87,12 @@ public class Attachment extends BaseModel{
|
||||
if(placeholder!=null)
|
||||
blurhashPlaceholder=new BlurHashDrawable(placeholder, getWidth(), getHeight());
|
||||
}
|
||||
|
||||
if (id == null) {
|
||||
// akkoma servers doesn't provide IDs for attachments,
|
||||
// but IDs are needed by the AudioPlayerService
|
||||
id = "" + this.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,7 +27,7 @@ public class Instance extends BaseModel{
|
||||
/**
|
||||
* Admin-defined description of the Mastodon site.
|
||||
*/
|
||||
@RequiredField
|
||||
// @RequiredField
|
||||
public String description;
|
||||
/**
|
||||
* A shorter description defined by the admin.
|
||||
@@ -37,7 +37,7 @@ public class Instance extends BaseModel{
|
||||
/**
|
||||
* An email that may be contacted for any inquiries.
|
||||
*/
|
||||
@RequiredField
|
||||
// @RequiredField
|
||||
public String email;
|
||||
/**
|
||||
* The version of Mastodon installed on the instance.
|
||||
|
||||
@@ -66,10 +66,12 @@ public class ScheduledStatus extends BaseModel implements DisplayItemsParent{
|
||||
s.id = id;
|
||||
s.mediaAttachments = mediaAttachments;
|
||||
s.createdAt = scheduledAt;
|
||||
s.inReplyToId = params.inReplyToId > 0 ? "" + params.inReplyToId : null;
|
||||
s.content = s.text = params.text;
|
||||
s.spoilerText = params.spoilerText;
|
||||
s.visibility = params.visibility;
|
||||
s.language = params.language;
|
||||
s.sensitive = params.sensitive;
|
||||
s.mentions = List.of();
|
||||
s.tags = List.of();
|
||||
s.emojis = List.of();
|
||||
|
||||
@@ -9,7 +9,9 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.ImageSpan;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
@@ -135,7 +137,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
public static class Holder extends StatusDisplayItem.Holder<HeaderStatusDisplayItem> implements ImageLoaderViewHolder{
|
||||
private final TextView name, username, timestamp, extraText, separator;
|
||||
private final ImageView avatar, more, visibility, deleteNotification, unreadIndicator;
|
||||
private final ImageView avatar, more, visibility, deleteNotification, unreadIndicator, botIcon;
|
||||
private final PopupMenu optionsMenu;
|
||||
private Relationship relationship;
|
||||
private APIRequest<?> currentRelationshipRequest;
|
||||
@@ -158,6 +160,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
visibility=findViewById(R.id.visibility);
|
||||
deleteNotification=findViewById(R.id.delete_notification);
|
||||
unreadIndicator=findViewById(R.id.unread_indicator);
|
||||
botIcon=findViewById(R.id.bot_icon);
|
||||
extraText=findViewById(R.id.extra_text);
|
||||
avatar.setOnClickListener(this::onAvaClick);
|
||||
avatar.setOutlineProvider(roundCornersOutline);
|
||||
@@ -282,10 +285,23 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
public void onBind(HeaderStatusDisplayItem item){
|
||||
name.setText(item.parsedName);
|
||||
username.setText('@'+item.user.acct);
|
||||
botIcon.setVisibility(item.user.bot ? View.VISIBLE : View.GONE);
|
||||
botIcon.setColorFilter(username.getCurrentTextColor());
|
||||
separator.setVisibility(View.VISIBLE);
|
||||
|
||||
// if(item.user.bot){
|
||||
// SpannableStringBuilder ssb = new SpannableStringBuilder();
|
||||
// ssb.append('@'+item.user.acct);
|
||||
// ssb.append(" ");
|
||||
// Drawable botIcon=username.getResources().getDrawable(R.drawable.ic_bot, itemView.getContext().getTheme()).mutate();
|
||||
// botIcon.setBounds(0, 0, botIcon.getIntrinsicWidth(), botIcon.getIntrinsicHeight());
|
||||
// botIcon.setTint(username.getCurrentTextColor());
|
||||
// ssb.append(itemView.getContext().getString(R.string.manually_approves_followers), new ImageSpan(botIcon, ImageSpan.ALIGN_BASELINE), 0);
|
||||
// username.setPaddingRelative(0,0,16,0);
|
||||
// username.setText(ssb);
|
||||
// }
|
||||
|
||||
username.setCompoundDrawablesWithIntrinsicBounds(item.user.bot ? R.drawable.ic_fluent_bot_24_filled : 0, 0, 0, 0);
|
||||
// username.setCompoundDrawablesWithIntrinsicBounds(item.user.bot ? R.drawable.ic_fluent_bot_24_filled : 0, 0, 0, 0);
|
||||
|
||||
if (item.scheduledStatus!=null)
|
||||
if (item.scheduledStatus.scheduledAt.isAfter(CreateStatus.DRAFTS_AFTER_INSTANT)) {
|
||||
@@ -338,7 +354,9 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
desc = item.parentFragment.getString(R.string.sk_mark_as_read);
|
||||
more.animate().alpha(alpha);
|
||||
unreadIndicator.animate().alpha(alpha);
|
||||
more.setEnabled(!item.announcement.read);
|
||||
more.setOnClickListener(v -> {
|
||||
if (item.announcement.read) return;
|
||||
new DismissAnnouncement(item.announcement.id).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Object o) {
|
||||
|
||||
@@ -73,7 +73,12 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
photo.setImageDrawable(null);
|
||||
if(item.imgRequest!=null){
|
||||
crossfadeDrawable.setSize(card.width, card.height);
|
||||
if (card.width > 0) {
|
||||
// akkoma servers don't provide width and height
|
||||
crossfadeDrawable.setSize(card.width, card.height);
|
||||
} else {
|
||||
crossfadeDrawable.setSize(itemView.getWidth(), itemView.getHeight());
|
||||
}
|
||||
crossfadeDrawable.setBlurhashDrawable(card.blurhashPlaceholder);
|
||||
crossfadeDrawable.setCrossfadeAlpha(item.status.spoilerRevealed ? 0f : 1f);
|
||||
photo.setImageDrawable(crossfadeDrawable);
|
||||
|
||||
@@ -77,6 +77,10 @@ public abstract class StatusDisplayItem{
|
||||
}
|
||||
|
||||
public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parentObject, Map<String, Account> knownAccounts, boolean inset, boolean addFooter, Notification notification){
|
||||
return buildItems(fragment, status, accountID, parentObject, knownAccounts, inset, addFooter, notification, false);
|
||||
}
|
||||
|
||||
public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parentObject, Map<String, Account> knownAccounts, boolean inset, boolean addFooter, Notification notification, boolean disableTranslate){
|
||||
String parentID=parentObject.getID();
|
||||
ArrayList<StatusDisplayItem> items=new ArrayList<>();
|
||||
Status statusForContent=status.getContentStatus();
|
||||
@@ -100,7 +104,7 @@ public abstract class StatusDisplayItem{
|
||||
HeaderStatusDisplayItem header;
|
||||
items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, notification, scheduledStatus));
|
||||
if(!TextUtils.isEmpty(statusForContent.content))
|
||||
items.add(new TextStatusDisplayItem(parentID, HtmlParser.parse(statusForContent.content, statusForContent.emojis, statusForContent.mentions, statusForContent.tags, accountID), fragment, statusForContent));
|
||||
items.add(new TextStatusDisplayItem(parentID, HtmlParser.parse(statusForContent.content, statusForContent.emojis, statusForContent.mentions, statusForContent.tags, accountID), fragment, statusForContent, disableTranslate));
|
||||
else
|
||||
header.needBottomPadding=true;
|
||||
List<Attachment> imageAttachments=statusForContent.mediaAttachments.stream().filter(att->att.type.isImage()).collect(Collectors.toList());
|
||||
|
||||
@@ -40,14 +40,16 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
private CharSequence parsedSpoilerText;
|
||||
public boolean textSelectable;
|
||||
public final Status status;
|
||||
public boolean disableTranslate;
|
||||
public boolean translated = false;
|
||||
public TranslatedStatus translation = null;
|
||||
private AccountSession session;
|
||||
|
||||
public TextStatusDisplayItem(String parentID, CharSequence text, BaseStatusListFragment parentFragment, Status status){
|
||||
public TextStatusDisplayItem(String parentID, CharSequence text, BaseStatusListFragment parentFragment, Status status, boolean disableTranslate){
|
||||
super(parentID, parentFragment);
|
||||
this.text=text;
|
||||
this.status=status;
|
||||
this.disableTranslate=disableTranslate;
|
||||
emojiHelper.setText(text);
|
||||
if(!TextUtils.isEmpty(status.spoilerText)){
|
||||
parsedSpoilerText=HtmlParser.parseCustomEmoji(status.spoilerText, status.emojis);
|
||||
@@ -112,8 +114,8 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
@Override
|
||||
public void onBind(TextStatusDisplayItem item){
|
||||
text.setText(item.translated
|
||||
? HtmlParser.parse(item.translation.content, item.status.emojis, item.status.mentions, item.status.tags, item.parentFragment.getAccountID())
|
||||
: item.text);
|
||||
? HtmlParser.parse(item.translation.content, item.status.emojis, item.status.mentions, item.status.tags, item.parentFragment.getAccountID())
|
||||
: item.text);
|
||||
text.setTextIsSelectable(item.textSelectable);
|
||||
spoilerTitleInline.setTextIsSelectable(item.textSelectable);
|
||||
text.setInvalidateOnEveryFrame(false);
|
||||
@@ -143,7 +145,8 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
|
||||
}
|
||||
|
||||
Instance instanceInfo = AccountSessionManager.getInstance().getInstanceInfo(item.session.domain);
|
||||
boolean translateEnabled = instanceInfo.v2 != null && instanceInfo.v2.configuration.translation != null && instanceInfo.v2.configuration.translation.enabled;
|
||||
boolean translateEnabled = !item.disableTranslate && instanceInfo.v2 != null &&
|
||||
instanceInfo.v2.configuration.translation != null && instanceInfo.v2.configuration.translation.enabled;
|
||||
|
||||
translateWrap.setVisibility(translateEnabled &&
|
||||
!item.status.visibility.isLessVisibleThan(StatusPrivacy.UNLISTED) &&
|
||||
|
||||
@@ -52,6 +52,7 @@ import org.joinmastodon.android.api.requests.accounts.SetAccountMuted;
|
||||
import org.joinmastodon.android.api.requests.accounts.SetDomainBlocked;
|
||||
import org.joinmastodon.android.api.requests.accounts.AuthorizeFollowRequest;
|
||||
import org.joinmastodon.android.api.requests.accounts.RejectFollowRequest;
|
||||
import org.joinmastodon.android.api.requests.lists.DeleteList;
|
||||
import org.joinmastodon.android.api.requests.notifications.DismissNotification;
|
||||
import org.joinmastodon.android.api.requests.search.GetSearchResults;
|
||||
import org.joinmastodon.android.api.requests.statuses.CreateStatus;
|
||||
@@ -339,14 +340,6 @@ public class UiUtils{
|
||||
Nav.go((Activity)context, HashtagTimelineFragment.class, args);
|
||||
}
|
||||
|
||||
public static void openListTimeline(Context context, String accountID, ListTimeline list){
|
||||
Bundle args=new Bundle();
|
||||
args.putString("account", accountID);
|
||||
args.putString("listID", list.id);
|
||||
args.putString("listTitle", list.title);
|
||||
Nav.go((Activity)context, ListTimelineFragment.class, args);
|
||||
}
|
||||
|
||||
public static void showConfirmationAlert(Context context, @StringRes int title, @StringRes int message, @StringRes int confirmButton, Runnable onConfirmed){
|
||||
showConfirmationAlert(context, title, message, confirmButton, 0, onConfirmed);
|
||||
}
|
||||
@@ -369,7 +362,7 @@ public class UiUtils{
|
||||
showConfirmationAlert(activity, activity.getString(currentlyBlocked ? R.string.confirm_unblock_title : R.string.confirm_block_title),
|
||||
activity.getString(currentlyBlocked ? R.string.confirm_unblock : R.string.confirm_block, account.displayName),
|
||||
activity.getString(currentlyBlocked ? R.string.do_unblock : R.string.do_block),
|
||||
currentlyBlocked ? R.drawable.ic_fluent_person_28_regular : R.drawable.ic_fluent_person_prohibited_28_regular,
|
||||
R.drawable.ic_fluent_person_prohibited_28_regular,
|
||||
()->{
|
||||
new SetAccountBlocked(account.id, !currentlyBlocked)
|
||||
.setCallback(new Callback<>(){
|
||||
@@ -391,6 +384,38 @@ public class UiUtils{
|
||||
});
|
||||
}
|
||||
|
||||
public static void confirmSoftBlockUser(Activity activity, String accountID, Account account, Consumer<Relationship> resultCallback){
|
||||
showConfirmationAlert(activity,
|
||||
activity.getString(R.string.sk_remove_follower),
|
||||
activity.getString(R.string.sk_remove_follower_confirm, account.displayName),
|
||||
activity.getString(R.string.sk_do_remove_follower),
|
||||
R.drawable.ic_fluent_person_delete_24_regular,
|
||||
() -> new SetAccountBlocked(account.id, true).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Relationship relationship) {
|
||||
new SetAccountBlocked(account.id, false).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Relationship relationship) {
|
||||
Toast.makeText(activity, R.string.sk_remove_follower_success, Toast.LENGTH_SHORT).show();
|
||||
resultCallback.accept(relationship);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse error) {
|
||||
error.showToast(activity);
|
||||
resultCallback.accept(relationship);
|
||||
}
|
||||
}).exec(accountID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse error) {
|
||||
error.showToast(activity);
|
||||
}
|
||||
}).exec(accountID)
|
||||
);
|
||||
}
|
||||
|
||||
public static void confirmToggleBlockDomain(Activity activity, String accountID, String domain, boolean currentlyBlocked, Runnable resultCallback){
|
||||
showConfirmationAlert(activity, activity.getString(currentlyBlocked ? R.string.confirm_unblock_domain_title : R.string.confirm_block_domain_title),
|
||||
activity.getString(currentlyBlocked ? R.string.confirm_unblock : R.string.confirm_block, domain),
|
||||
@@ -541,6 +566,27 @@ public class UiUtils{
|
||||
);
|
||||
}
|
||||
|
||||
public static void confirmDeleteList(Activity activity, String accountID, String listID, String listTitle, Runnable callback) {
|
||||
showConfirmationAlert(activity,
|
||||
activity.getString(R.string.sk_delete_list),
|
||||
activity.getString(R.string.sk_delete_list_confirm, listTitle),
|
||||
activity.getString(R.string.delete),
|
||||
R.drawable.ic_fluent_delete_28_regular,
|
||||
() -> new DeleteList(listID).setCallback(new Callback<>() {
|
||||
@Override
|
||||
public void onSuccess(Object o) {
|
||||
callback.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorResponse error) {
|
||||
error.showToast(activity);
|
||||
}
|
||||
})
|
||||
.wrapProgress(activity, R.string.deleting, false)
|
||||
.exec(accountID));
|
||||
}
|
||||
|
||||
public static void setRelationshipToActionButton(Relationship relationship, Button button){
|
||||
setRelationshipToActionButton(relationship, button, false);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package org.joinmastodon.android.ui.views;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupMenu;
|
||||
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.model.ListTimeline;
|
||||
|
||||
public class ListTimelineEditor extends LinearLayout {
|
||||
private ListTimeline.RepliesPolicy policy = null;
|
||||
private final TextInputFrameLayout input;
|
||||
private final Button button;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
public ListTimelineEditor(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
LayoutInflater.from(context).inflate(R.layout.list_timeline_editor, this);
|
||||
|
||||
button = findViewById(R.id.button);
|
||||
input = findViewById(R.id.input);
|
||||
|
||||
PopupMenu popupMenu = new PopupMenu(context, button, Gravity.CENTER_HORIZONTAL);
|
||||
popupMenu.inflate(R.menu.list_reply_policies);
|
||||
popupMenu.setOnMenuItemClickListener(this::onMenuItemClick);
|
||||
|
||||
button.setOnTouchListener(popupMenu.getDragToOpenListener());
|
||||
button.setOnClickListener(v->popupMenu.show());
|
||||
input.getEditText().setHint(context.getString(R.string.sk_list_name_hint));
|
||||
|
||||
setRepliesPolicy(ListTimeline.RepliesPolicy.LIST);
|
||||
}
|
||||
|
||||
public void applyList(String title, ListTimeline.RepliesPolicy policy) {
|
||||
input.getEditText().setText(title);
|
||||
setRepliesPolicy(policy);
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return input.getEditText().getText().toString();
|
||||
}
|
||||
|
||||
public ListTimeline.RepliesPolicy getRepliesPolicy() {
|
||||
return policy;
|
||||
}
|
||||
|
||||
public void setRepliesPolicy(ListTimeline.RepliesPolicy policy) {
|
||||
this.policy = policy;
|
||||
switch (policy) {
|
||||
case FOLLOWED -> button.setText(R.string.sk_list_replies_policy_followed);
|
||||
case LIST -> button.setText(R.string.sk_list_replies_policy_list);
|
||||
case NONE -> button.setText(R.string.sk_list_replies_policy_none);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean onMenuItemClick(MenuItem i) {
|
||||
if (i.getItemId() == R.id.reply_policy_none) {
|
||||
setRepliesPolicy(ListTimeline.RepliesPolicy.NONE);
|
||||
} else if (i.getItemId() == R.id.reply_policy_followed) {
|
||||
setRepliesPolicy(ListTimeline.RepliesPolicy.FOLLOWED);
|
||||
} else if (i.getItemId() == R.id.reply_policy_list) {
|
||||
setRepliesPolicy(ListTimeline.RepliesPolicy.LIST);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public ListTimelineEditor(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
this(context, attrs, defStyleAttr, 0);
|
||||
}
|
||||
|
||||
public ListTimelineEditor(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public ListTimelineEditor(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package org.joinmastodon.android.ui.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.EditText;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import me.grishka.appkit.utils.V;
|
||||
|
||||
public class TextInputFrameLayout extends FrameLayout {
|
||||
private final EditText editText;
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context, CharSequence hint, CharSequence text) {
|
||||
this(context, null, 0, 0, hint, text);
|
||||
}
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
this(context, attrs, defStyleAttr, 0);
|
||||
}
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
this(context, attrs, defStyleAttr, defStyleRes, null, null);
|
||||
}
|
||||
|
||||
public TextInputFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes, CharSequence hint, CharSequence text) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
editText = new EditText(context);
|
||||
editText.setHint(hint);
|
||||
editText.setText(text);
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
params.setMargins(V.dp(24), V.dp(4), V.dp(24), V.dp(16));
|
||||
editText.setLayoutParams(params);
|
||||
addView(editText);
|
||||
}
|
||||
|
||||
public EditText getEditText() {
|
||||
return editText;
|
||||
}
|
||||
}
|
||||
5
mastodon/src/main/res/drawable/bg_note_edit.xml
Normal file
5
mastodon/src/main/res/drawable/bg_note_edit.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="?colorBackgroundLightest"/>
|
||||
<corners android:radius="10dp"/>
|
||||
</shape>
|
||||
6
mastodon/src/main/res/drawable/ic_bot.xml
Normal file
6
mastodon/src/main/res/drawable/ic_bot.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="16dp" android:height="16dp" android:viewportWidth="16" android:viewportHeight="16">
|
||||
<group android:translateX="-2" android:translateY="-1">
|
||||
<path android:pathData="M14.69 11.503c1 0 1.81 0.81 1.81 1.81v0.689h-0.005c-0.034 0.78-0.248 1.757-1.123 2.555C14.416 17.43 12.765 18 10 18c-2.766 0-4.416-0.57-5.372-1.443-0.875-0.798-1.089-1.776-1.123-2.555H3.5v-0.69c0-0.999 0.81-1.809 1.81-1.809h9.38zM6.5 3C5.672 3 5 3.672 5 4.5v4C5 9.328 5.672 10 6.5 10h7c0.828 0 1.5-0.672 1.5-1.5v-4C15 3.672 14.328 3 13.5 3h-3V2.5C10.5 2.191 10.276 2 10 2S9.5 2.23 9.5 2.5V3h-3zM7 6.5c0-0.552 0.448-1 1-1s1 0.448 1 1-0.448 1-1 1-1-0.448-1-1zm4 0c0-0.552 0.448-1 1-1s1 0.448 1 1-0.448 1-1 1-1-0.448-1-1z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M11.754,9.203C12.551,9.203 13.199,9.852 13.199,10.648L13.199,11.203L13.195,11.203C13.168,11.824 12.996,12.605 12.297,13.246C11.531,13.945 10.211,14.398 8,14.398C5.789,14.398 4.469,13.945 3.703,13.246C3.004,12.605 2.832,11.824 2.805,11.203L2.801,11.203L2.801,10.648C2.801,9.852 3.449,9.203 4.246,9.203ZM5.199,2.398C4.539,2.398 4,2.938 4,3.602L4,6.801C4,7.461 4.539,8 5.199,8L10.801,8C11.461,8 12,7.461 12,6.801L12,3.602C12,2.938 11.461,2.398 10.801,2.398L8.398,2.398C8.398,2.398 8.398,2.246 8.398,2C8.398,1.754 8.223,1.602 8,1.602C7.777,1.602 7.602,1.785 7.602,2C7.602,2.215 7.602,2.398 7.602,2.398ZM5.602,5.199C5.602,4.758 5.957,4.398 6.398,4.398C6.844,4.398 7.199,4.758 7.199,5.199C7.199,5.641 6.844,6 6.398,6C5.957,6 5.602,5.641 5.602,5.199ZM8.801,5.199C8.801,4.758 9.156,4.398 9.602,4.398C10.043,4.398 10.398,4.758 10.398,5.199C10.398,5.641 10.043,6 9.602,6C9.156,6 8.801,5.641 8.801,5.199ZM8.801,5.199"
|
||||
android:fillColor="?android:textColorPrimary" />
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M17.75 3c1.733 0 3.15 1.356 3.245 3.066L21 6.25v5.772c-0.463-0.297-0.966-0.536-1.5-0.709V6.25c0-0.918-0.707-1.671-1.606-1.744L17.75 4.5H6.25c-0.6 0-1.13 0.302-1.445 0.763C4.491 5.095 4.132 5 3.75 5 3.57 5 3.393 5.021 3.224 5.062 3.677 3.909 4.77 3.078 6.066 3.005L6.25 3h11.5zm-6.437 16.5c0.173 0.534 0.412 1.037 0.709 1.5H6.25c-1.733 0-3.15-1.357-3.245-3.066L3 17.75V9.372C3.235 9.455 3.487 9.5 3.75 9.5S4.266 9.455 4.5 9.372v8.378c0 0.918 0.707 1.671 1.607 1.744L6.25 19.5h5.063zm0.418-4.997c0.286-0.55 0.65-1.056 1.076-1.5h-4.06l-0.1 0.007c-0.367 0.05-0.65 0.363-0.65 0.743 0 0.414 0.337 0.75 0.75 0.75h2.984zm3.521-5.007c0.415 0 0.75 0.336 0.75 0.75 0 0.38-0.282 0.694-0.648 0.743l-0.102 0.007H8.748c-0.414 0-0.75-0.336-0.75-0.75 0-0.38 0.282-0.693 0.648-0.743l0.102-0.007h6.504zM3.75 6C4.44 6 5 6.56 5 7.25S4.44 8.5 3.75 8.5 2.5 7.94 2.5 7.25 3.06 6 3.75 6zM23 17.5c0-3.038-2.462-5.5-5.5-5.5S12 14.462 12 17.5s2.462 5.5 5.5 5.5 5.5-2.462 5.5-5.5zM18 18l0.001 2.503c0 0.277-0.224 0.5-0.5 0.5s-0.5-0.223-0.5-0.5V18h-2.505c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5H17v-2.5c0-0.277 0.224-0.5 0.5-0.5s0.5 0.223 0.5 0.5V17h2.497c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5H18z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M6.25 3C5.007 3 4 4.007 4 5.25v2.5C4 8.993 5.007 10 6.25 10h9.5C16.993 10 18 8.993 18 7.75v-2.5C18 4.007 16.993 3 15.75 3h-9.5zM5.5 5.25c0-0.414 0.336-0.75 0.75-0.75h9.5c0.414 0 0.75 0.336 0.75 0.75v2.5c0 0.414-0.336 0.75-0.75 0.75h-9.5C5.836 8.5 5.5 8.164 5.5 7.75v-2.5zM8.7 16C8.313 16 8 16.336 8 16.75s0.313 0.75 0.7 0.75h4.6c0.387 0 0.7-0.336 0.7-0.75S13.687 16 13.3 16H8.7zm8.653 0.445L17.28 16.53c-0.266 0.267-0.683 0.29-0.976 0.073L16.22 16.53l-2-2c-0.267-0.266-0.29-0.682-0.073-0.976l0.073-0.084 2-2c0.293-0.293 0.767-0.293 1.06 0 0.267 0.266 0.29 0.683 0.073 0.976L17.28 12.53l-0.719 0.721h1.5c0.647 0 1.18-0.492 1.243-1.122L19.311 12V9.75c0-0.415 0.335-0.75 0.75-0.75 0.38 0 0.693 0.282 0.743 0.648L20.81 9.75V12c0 1.462-1.142 2.658-2.583 2.745L18.06 14.75h-1.499l0.718 0.719c0.267 0.266 0.29 0.683 0.073 0.976zM18 19.25v-2.026l-0.013 0.012c-0.405 0.406-0.96 0.57-1.487 0.495v1.519c0 0.414-0.336 0.75-0.75 0.75h-9.5c-0.414 0-0.75-0.336-0.75-0.75v-5c0-0.414 0.336-0.75 0.75-0.75h6.822c0.058-0.192 0.148-0.376 0.272-0.543l0.022-0.03 0.12-0.14L14.275 12H6.25C5.007 12 4 13.007 4 14.25v5c0 1.243 1.007 2.25 2.25 2.25h9.5c1.243 0 2.25-1.007 2.25-2.25z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M12 1.999c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10.001-10.002 10.001-5.524 0-10.002-4.478-10.002-10.001C1.998 6.477 6.476 1.999 12 1.999zm0 1.5c-4.695 0-8.502 3.806-8.502 8.502 0 4.695 3.807 8.501 8.502 8.501s8.502-3.806 8.502-8.501c0-4.696-3.807-8.502-8.502-8.502zm-0.004 7c0.38 0 0.694 0.282 0.744 0.648l0.007 0.102 0.004 5.502c0 0.414-0.336 0.75-0.75 0.75-0.38 0-0.694-0.282-0.744-0.648l-0.006-0.101-0.004-5.502c0-0.414 0.335-0.75 0.75-0.75zm0.005-3.497c0.551 0 0.998 0.447 0.998 0.999 0 0.551-0.447 0.998-0.998 0.998-0.552 0-1-0.447-1-0.998 0-0.552 0.448-1 1-1z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<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="M7.5,7C7.224,7 7,7.224 7,7.5C7,7.776 7.224,8 7.5,8H12.5C12.776,8 13,7.776 13,7.5C13,7.224 12.776,7 12.5,7H7.5ZM7,10.5C7,10.224 7.224,10 7.5,10H12.5C12.776,10 13,10.224 13,10.5C13,10.776 12.776,11 12.5,11H7.5C7.224,11 7,10.776 7,10.5ZM7.5,13C7.224,13 7,13.224 7,13.5C7,13.776 7.224,14 7.5,14H9.5C9.776,14 10,13.776 10,13.5C10,13.224 9.776,13 9.5,13H7.5ZM6.5,2C6.224,2 6,2.224 6,2.5V3H5.5C4.672,3 4,3.672 4,4.5V16.5C4,17.328 4.672,18 5.5,18H11.5C11.633,18 11.76,17.947 11.854,17.854L15.854,13.854C15.947,13.76 16,13.633 16,13.5V4.5C16,3.672 15.328,3 14.5,3H14V2.5C14,2.224 13.776,2 13.5,2C13.224,2 13,2.224 13,2.5V3H10.5V2.5C10.5,2.224 10.276,2 10,2C9.724,2 9.5,2.224 9.5,2.5V3H7V2.5C7,2.224 6.776,2 6.5,2ZM14.5,4C14.776,4 15,4.224 15,4.5V13H12.5C11.672,13 11,13.672 11,14.5V17H5.5C5.224,17 5,16.776 5,16.5V4.5C5,4.224 5.224,4 5.5,4H14.5ZM14.293,14L12,16.293V14.5C12,14.224 12.224,14 12.5,14H14.293Z"
|
||||
android:fillColor="#212121"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M5.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5S5.5 9.38 5.5 8zM8 4C5.79 4 4 5.79 4 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm7.5 5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5-0.672 1.5-1.5 1.5-1.5-0.672-1.5-1.5zM17 6c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3zm-2.752 13.038c0.703 0.285 1.604 0.462 2.753 0.462 2.282 0 3.586-0.697 4.297-1.558 0.345-0.418 0.52-0.84 0.61-1.163 0.044-0.16 0.067-0.299 0.08-0.402 0.006-0.052 0.009-0.095 0.01-0.128l0.003-0.043v-0.027c0-1.204-0.975-2.179-2.179-2.179H14.18c-0.028 0-0.055 0-0.082 0.002 0.394 0.41 0.68 0.925 0.816 1.498h4.908c0.372 0 0.674 0.299 0.679 0.669L20.498 16.2c-0.005 0.038-0.015 0.1-0.037 0.18-0.043 0.16-0.133 0.38-0.32 0.605C19.792 17.412 18.97 18 17.002 18c-0.98 0-1.676-0.146-2.17-0.345-0.108 0.4-0.286 0.883-0.583 1.383zM4.25 14C3.007 14 2 15.007 2 16.25v0.278l0.002 0.05c0.002 0.039 0.006 0.093 0.012 0.158 0.013 0.13 0.038 0.309 0.088 0.52 0.098 0.422 0.295 0.984 0.69 1.55C3.61 19.974 5.172 21 8 21c2.828 0 4.39-1.025 5.208-2.195 0.396-0.565 0.592-1.127 0.69-1.549 0.05-0.211 0.075-0.39 0.088-0.52 0.007-0.066 0.01-0.12 0.012-0.159L14 16.527V16.25c0-1.243-1.007-2.25-2.25-2.25h-7.5zM3.5 16.507V16.25c0-0.414 0.336-0.75 0.75-0.75h7.5c0.414 0 0.75 0.336 0.75 0.75v0.257l-0.007 0.08c-0.007 0.074-0.023 0.188-0.055 0.329-0.066 0.281-0.198 0.656-0.459 1.029C11.486 18.65 10.422 19.5 8 19.5s-3.486-0.85-3.98-1.555c-0.26-0.373-0.392-0.748-0.458-1.03-0.032-0.14-0.048-0.254-0.055-0.328-0.004-0.038-0.006-0.065-0.006-0.08z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M5.5 7c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5S9.38 9.5 8 9.5 5.5 8.38 5.5 7zM8 3C5.79 3 4 4.79 4 7s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm7.5 5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5-0.672 1.5-1.5 1.5-1.5-0.672-1.5-1.5zM17 5c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3zM4.25 13C3.007 13 2 14.007 2 15.25v0.278l0.002 0.05c0.002 0.039 0.006 0.093 0.012 0.158 0.013 0.13 0.038 0.309 0.088 0.52 0.098 0.422 0.295 0.984 0.69 1.55C3.61 18.974 5.172 20 8 20c1.369 0 2.441-0.24 3.276-0.62-0.15-0.495-0.241-1.014-0.268-1.55C10.363 18.21 9.413 18.5 8 18.5c-2.422 0-3.486-0.85-3.98-1.555-0.26-0.373-0.392-0.748-0.458-1.03-0.032-0.14-0.048-0.254-0.055-0.329C3.502 15.55 3.5 15.522 3.5 15.507V15.25c0-0.414 0.336-0.75 0.75-0.75h7.482c0.249-0.477 0.555-0.919 0.909-1.317C12.366 13.065 12.066 13 11.75 13h-7.5zM23 17.5c0-3.038-2.462-5.5-5.5-5.5S12 14.462 12 17.5s2.462 5.5 5.5 5.5 5.5-2.462 5.5-5.5zM18 18l0.001 2.503c0 0.277-0.224 0.5-0.5 0.5s-0.5-0.223-0.5-0.5V18h-2.505c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5H17v-2.5c0-0.277 0.224-0.5 0.5-0.5s0.5 0.223 0.5 0.5V17h2.497c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5H18z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="28dp" android:height="28dp" android:viewportWidth="28" android:viewportHeight="28">
|
||||
<path android:pathData="M9.5 4C7.015 4 5 6.015 5 8.5S7.015 13 9.5 13 14 10.985 14 8.5 11.985 4 9.5 4zm-3 4.5c0-1.657 1.343-3 3-3s3 1.343 3 3-1.343 3-3 3-3-1.343-3-3zM20 6c-1.933 0-3.5 1.567-3.5 3.5S18.067 13 20 13s3.5-1.567 3.5-3.5S21.933 6 20 6zm-2 3.5c0-1.105 0.895-2 2-2s2 0.895 2 2-0.895 2-2 2-2-0.895-2-2zM4.25 15C3.007 15 2 16.007 2 17.25v0.531l0.003 0.057c0.002 0.046 0.006 0.109 0.014 0.185 0.017 0.153 0.049 0.363 0.11 0.612 0.125 0.497 0.373 1.156 0.867 1.815C4.008 21.803 5.942 23 9.5 23c1.531 0 2.762-0.222 3.747-0.582-0.128-0.489-0.21-0.996-0.236-1.518-0.836 0.355-1.97 0.6-3.511 0.6-3.192 0-4.633-1.053-5.306-1.95-0.35-0.466-0.524-0.932-0.61-1.279-0.044-0.173-0.065-0.314-0.075-0.408-0.005-0.046-0.007-0.08-0.008-0.1L3.5 17.745V17.25c0-0.414 0.336-0.75 0.75-0.75h9.905c0.33-0.523 0.723-1.002 1.168-1.426C15.14 15.026 14.948 15 14.75 15H4.25zM27 20.5c0 3.59-2.91 6.5-6.5 6.5S14 24.09 14 20.5s2.91-6.5 6.5-6.5 6.5 2.91 6.5 6.5zm-6-4c0-0.276-0.224-0.5-0.5-0.5S20 16.224 20 16.5V20h-3.5c-0.276 0-0.5 0.224-0.5 0.5s0.224 0.5 0.5 0.5H20v3.5c0 0.276 0.224 0.5 0.5 0.5s0.5-0.224 0.5-0.5V21h3.5c0.276 0 0.5-0.224 0.5-0.5S24.776 20 24.5 20H21v-3.5z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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="M5.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5S5.5 9.38 5.5 8zM8 4C5.79 4 4 5.79 4 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm7.5 5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5-0.672 1.5-1.5 1.5-1.5-0.672-1.5-1.5zM17 6c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3zM4.25 14C3.007 14 2 15.007 2 16.25v0.278l0.002 0.05c0.002 0.039 0.006 0.093 0.012 0.158 0.013 0.13 0.038 0.309 0.088 0.52 0.098 0.422 0.295 0.984 0.69 1.55C3.61 19.974 5.172 21 8 21c1.819 0 3.113-0.424 4.024-1.037 0.061-0.375 0.242-0.709 0.501-0.963-0.29-0.284-0.48-0.667-0.518-1.095l-0.028 0.04C11.486 18.65 10.422 19.5 8 19.5s-3.486-0.85-3.98-1.555c-0.26-0.373-0.392-0.748-0.458-1.03-0.032-0.14-0.048-0.254-0.055-0.328-0.004-0.038-0.006-0.065-0.006-0.08L3.5 16.495V16.25c0-0.414 0.336-0.75 0.75-0.75h7.5c0.098 0 0.19 0.019 0.276 0.052C12.009 15.454 12 15.353 12 15.25c0-0.438 0.161-0.84 0.428-1.146C12.214 14.036 11.986 14 11.75 14h-7.5zm8.275 2.5l-0.027 0.027 0.002-0.02v-0.032l0.025 0.025zm1.225-2c-0.414 0-0.75 0.336-0.75 0.75S13.336 16 13.75 16h7.5c0.414 0 0.75-0.336 0.75-0.75s-0.336-0.75-0.75-0.75h-7.5zm0 2.5C13.336 17 13 17.336 13 17.75s0.336 0.75 0.75 0.75h7.5c0.414 0 0.75-0.336 0.75-0.75S21.664 17 21.25 17h-7.5zm0 2.5c-0.414 0-0.75 0.336-0.75 0.75S13.336 21 13.75 21h7.5c0.414 0 0.75-0.336 0.75-0.75s-0.336-0.75-0.75-0.75h-7.5z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="28dp" android:height="28dp" android:viewportWidth="28" android:viewportHeight="28">
|
||||
<path android:pathData="M5 9.5C5 7.015 7.015 5 9.5 5S14 7.015 14 9.5 11.985 14 9.5 14 5 11.985 5 9.5zm4.5-3c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3zm7 4C16.5 8.567 18.067 7 20 7s3.5 1.567 3.5 3.5S21.933 14 20 14s-3.5-1.567-3.5-3.5zm3.5-2c-1.105 0-2 0.895-2 2s0.895 2 2 2 2-0.895 2-2-0.895-2-2-2zM2 18.25C2 17.007 3.007 16 4.25 16h10.5c0.236 0 0.464 0.036 0.678 0.104C15.16 16.41 15 16.812 15 17.25c0 0.103 0.009 0.204 0.026 0.302-0.085-0.033-0.178-0.052-0.276-0.052H4.25c-0.414 0-0.75 0.336-0.75 0.75v0.513l0.009 0.1c0.01 0.094 0.03 0.235 0.074 0.408 0.087 0.347 0.261 0.813 0.61 1.279 0.674 0.897 2.115 1.95 5.307 1.95s4.633-1.053 5.306-1.95c0.072-0.096 0.136-0.191 0.194-0.286 0.005 0.608 0.32 1.141 0.793 1.451-0.066 0.078-0.135 0.154-0.208 0.229-0.049 0.044-0.095 0.09-0.139 0.139C14.332 23.155 12.489 24 9.5 24c-3.558 0-5.492-1.197-6.506-2.55-0.495-0.659-0.742-1.318-0.866-1.815-0.062-0.249-0.094-0.459-0.11-0.612-0.009-0.076-0.013-0.139-0.015-0.185L2 18.781V18.25zm14.75-1.75c-0.414 0-0.75 0.336-0.75 0.75S16.336 18 16.75 18h8.5c0.414 0 0.75-0.336 0.75-0.75s-0.336-0.75-0.75-0.75h-8.5zm0 3c-0.414 0-0.75 0.336-0.75 0.75S16.336 21 16.75 21h8.5c0.414 0 0.75-0.336 0.75-0.75s-0.336-0.75-0.75-0.75h-8.5zm0 3c-0.414 0-0.75 0.336-0.75 0.75S16.336 24 16.75 24h8.5c0.414 0 0.75-0.336 0.75-0.75s-0.336-0.75-0.75-0.75h-8.5z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -103,7 +103,7 @@
|
||||
<TextView
|
||||
android:id="@+id/state_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="16dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/retry_or_cancel_upload"
|
||||
android:layout_marginTop="16dp"
|
||||
android:textColor="?colorGray200"
|
||||
@@ -118,7 +118,7 @@
|
||||
<TextView
|
||||
android:id="@+id/state_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="32dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/state_title"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="?colorGray200"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
android:drawableStart="@drawable/ic_fluent_chat_multiple_24_selector_text"
|
||||
android:drawablePadding="8dp"
|
||||
android:drawableTint="?android:textColorSecondary"
|
||||
android:tooltipText="@string/button_reply"
|
||||
android:gravity="center_vertical"
|
||||
android:textAppearance="@style/m3_label_large"
|
||||
tools:text="123"/>
|
||||
@@ -67,6 +68,7 @@
|
||||
android:drawableStart="@drawable/ic_fluent_star_24_selector"
|
||||
android:drawablePadding="8dp"
|
||||
android:drawableTint="@color/favorite_icon"
|
||||
android:tooltipText="@string/button_favorite"
|
||||
android:textColor="@color/favorite_icon"
|
||||
android:gravity="center_vertical"
|
||||
android:textAppearance="@style/m3_label_large"
|
||||
@@ -92,6 +94,7 @@
|
||||
android:drawablePadding="8dp"
|
||||
android:drawableTint="@color/bookmark_icon"
|
||||
android:gravity="center_vertical"
|
||||
android:tooltipText="@string/add_bookmark"
|
||||
android:textAppearance="@style/m3_label_large" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
@@ -120,6 +120,14 @@
|
||||
android:textAppearance="@style/m3_title_small"
|
||||
tools:text="\@Gargron" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bot_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:importantForAccessibility="no"
|
||||
android:layout_marginTop="2dp"
|
||||
android:src="@drawable/ic_fluent_bot_16_filled" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toEndOf="@id/self_avatar"
|
||||
android:layout_marginTop="2sp"
|
||||
android:minHeight="24sp"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
|
||||
@@ -253,11 +253,53 @@
|
||||
android:textColor="?android:textColorSecondary"
|
||||
tools:text="\@Gargron" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/username"
|
||||
android:id="@+id/note_edit_wrap"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/note_edit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingVertical="16dp"
|
||||
android:inputType="textMultiLine|textCapSentences"
|
||||
android:singleLine="false"
|
||||
android:drawableStart="@drawable/ic_fluent_notepad_20_regular"
|
||||
android:drawablePadding="12dp"
|
||||
android:drawableTint="?android:textColorSecondary"
|
||||
android:background="@drawable/bg_note_edit"
|
||||
android:paddingEnd="48dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:elevation="0dp"
|
||||
android:visibility="gone"
|
||||
android:hint="@string/sk_personal_note"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/note_edit_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:paddingHorizontal="8dp"
|
||||
android:visibility="invisible"
|
||||
android:backgroundTint="?colorBackgroundLightest"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:tooltipText="@string/sk_personal_note_confirm"
|
||||
android:contentDescription="@string/sk_personal_note_confirm"
|
||||
android:drawableStart="@drawable/ic_fluent_checkmark_24_regular"
|
||||
/>
|
||||
</FrameLayout>
|
||||
|
||||
<org.joinmastodon.android.ui.views.LinkedTextView
|
||||
android:id="@+id/bio"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/username"
|
||||
android:layout_below="@id/note_edit_wrap"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:textAppearance="@style/m3_body_large"
|
||||
|
||||
54
mastodon/src/main/res/layout/fragment_profile_about.xml
Normal file
54
mastodon/src/main/res/layout/fragment_profile_about.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/note_edit_wrap"
|
||||
android:visibility="gone">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/note_edit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingVertical="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:inputType="textMultiLine|textCapSentences"
|
||||
android:singleLine="false"
|
||||
android:drawableStart="@drawable/ic_fluent_notepad_20_regular"
|
||||
android:drawablePadding="12dp"
|
||||
android:drawableTint="?android:textColorSecondary"
|
||||
android:background="@drawable/bg_note_edit"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:elevation="0dp"
|
||||
android:visibility="gone"
|
||||
android:hint="@string/sk_personal_note"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/note_edit_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_fluent_checkmark_24_filled"
|
||||
android:backgroundTint="#00000000"
|
||||
android:layout_marginTop="2dp"
|
||||
android:visibility="invisible"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:tooltipText="@string/sk_personal_note_confirm"
|
||||
android:contentDescription="@string/sk_personal_note_confirm" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<me.grishka.appkit.views.UsableRecyclerView
|
||||
android:id="@+id/list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:clipToPadding="false"/>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginStart="16dp"
|
||||
@@ -22,6 +22,7 @@
|
||||
android:layout_height="44dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:tint="?android:textColorSecondary"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/clear"
|
||||
|
||||
@@ -24,8 +24,13 @@
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="center"
|
||||
android:alpha="0"
|
||||
/>
|
||||
android:alpha="0" />
|
||||
<TextView
|
||||
android:id="@+id/secondary_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:textColor="?android:textColorSecondary" />
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:importantForAccessibility="no"
|
||||
|
||||
42
mastodon/src/main/res/layout/list_timeline_editor.xml
Normal file
42
mastodon/src/main/res/layout/list_timeline_editor.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<org.joinmastodon.android.ui.views.AutoOrientationLinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginHorizontal="24dp">
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:text="@string/sk_list_replies_policy"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="none"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/bg_inline_button"
|
||||
android:elevation="0dp"
|
||||
android:ellipsize="none"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:singleLine="true"
|
||||
android:stateListAnimator="@null"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp" />
|
||||
</org.joinmastodon.android.ui.views.AutoOrientationLinearLayout>
|
||||
|
||||
<org.joinmastodon.android.ui.views.TextInputFrameLayout
|
||||
android:id="@+id/input"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
6
mastodon/src/main/res/menu/list_reply_policies.xml
Normal file
6
mastodon/src/main/res/menu/list_reply_policies.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/reply_policy_list" android:title="@string/sk_list_replies_policy_list" />
|
||||
<item android:id="@+id/reply_policy_followed" android:title="@string/sk_list_replies_policy_followed" />
|
||||
<item android:id="@+id/reply_policy_none" android:title="@string/sk_list_replies_policy_none" />
|
||||
</menu>
|
||||
8
mastodon/src/main/res/menu/menu_list.xml
Normal file
8
mastodon/src/main/res/menu/menu_list.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@+id/create"
|
||||
android:title="@string/sk_create"
|
||||
android:icon="@drawable/ic_fluent_people_add_24_regular"
|
||||
android:showAsAction="always" />
|
||||
</menu>
|
||||
@@ -4,8 +4,9 @@
|
||||
<item android:id="@+id/mute" android:title="@string/mute_user" android:icon="@drawable/ic_fluent_speaker_mute_24_regular"/>
|
||||
<item android:id="@+id/block" android:title="@string/block_user" android:icon="@drawable/ic_fluent_person_prohibited_24_regular"/>
|
||||
<item android:id="@+id/report" android:title="@string/report_user" android:icon="@drawable/ic_fluent_warning_24_regular"/>
|
||||
<item android:id="@+id/soft_block" android:title="@string/sk_remove_follower" android:icon="@drawable/ic_fluent_person_delete_24_regular"/>
|
||||
<item android:id="@+id/block_domain" android:title="@string/block_domain" android:icon="@drawable/ic_fluent_shield_prohibited_24_regular"/>
|
||||
<item android:id="@+id/hide_boosts" android:title="@string/hide_boosts_from_user" android:icon="@drawable/ic_fluent_arrow_repeat_all_off_24_regular"/>
|
||||
<item android:id="@+id/manage_user_lists" android:title="@string/sk_lists_with_user" android:icon="@drawable/ic_fluent_people_community_24_regular"/>
|
||||
<item android:id="@+id/manage_user_lists" android:title="@string/sk_lists_with_user" android:icon="@drawable/ic_fluent_people_list_24_regular"/>
|
||||
<item android:id="@+id/open_in_browser" android:title="@string/open_in_browser" android:icon="@drawable/ic_fluent_globe_24_regular"/>
|
||||
</menu>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/followed_hashtags" android:title="@string/sk_hashtags_you_follow" android:icon="@drawable/ic_fluent_number_symbol_24_regular" android:showAsAction="always"/>
|
||||
<item android:id="@+id/manage_user_lists" android:title="@string/sk_your_lists" android:icon="@drawable/ic_fluent_people_list_24_regular" android:showAsAction="always"/>
|
||||
<item android:id="@+id/bookmarks" android:title="@string/bookmarks" android:icon="@drawable/ic_fluent_bookmark_multiple_24_regular" android:showAsAction="always"/>
|
||||
<item android:id="@+id/favorites" android:title="@string/your_favorites" android:icon="@drawable/ic_fluent_star_24_regular" android:showAsAction="always"/>
|
||||
<item android:id="@+id/scheduled" android:title="@string/sk_unsent_posts" android:icon="@drawable/ic_fluent_drafts_24_regular" android:showAsAction="always"/>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<string name="sk_list_timelines">Llistes</string>
|
||||
<string name="sk_follow_requests">Sol·licituds de seguiment</string>
|
||||
<string name="sk_reject_follow_request">Rebutja la sol·licitud</string>
|
||||
<string name="sk_lists_with_user">Llistes amb %s</string>
|
||||
<string name="sk_lists_with_user">Edita les llistes amb %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Mostra sempre els avisos de contingut</string>
|
||||
<string name="sk_settings_contribute">Contribueix a Moshidon</string>
|
||||
<string name="sk_settings_show_federated_timeline">Mostra la línia de temps federada</string>
|
||||
@@ -47,4 +47,99 @@
|
||||
<string name="sk_color_palette_blue">Blau</string>
|
||||
<string name="sk_color_palette_brown">Marró</string>
|
||||
<string name="sk_color_palette_yellow">Groc</string>
|
||||
<string name="sk_timeline_local">Local</string>
|
||||
<string name="sk_timeline_federated">Federació</string>
|
||||
<string name="sk_poll_allow_multiple">Permet resposta múltiple</string>
|
||||
<string name="sk_translate_post">Tradueix</string>
|
||||
<string name="sk_example_domain">exemple.social</string>
|
||||
<string name="sk_welcome_title">Et donem la benvinguda!</string>
|
||||
<string name="sk_clear_recent_languages">Esborra les llengües recents</string>
|
||||
<string name="sk_settings_translate_only_opened">Tradueix només les publicacions obertes</string>
|
||||
<string name="sk_bookmark_as">Afig als marcadors amb un altre compte</string>
|
||||
<string name="sk_bookmarked_as">Afegit marcador com a %s</string>
|
||||
<string name="sk_already_bookmarked">Ja està als marcadors</string>
|
||||
<string name="sk_favorite_as">Marca com a preferit amb un altre compte</string>
|
||||
<string name="sk_favorited_as">Marcat com a preferit com a %s</string>
|
||||
<string name="sk_already_favorited">Ja està marcat com a preferit</string>
|
||||
<string name="sk_reblog_as">Impulsa amb un altre compte</string>
|
||||
<string name="sk_already_reblogged">Ja s\'ha impulsat</string>
|
||||
<string name="sk_reply_as">Respon amb un altre compte</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Unifica la icona per a totes les notificacions</string>
|
||||
<string name="sk_translate_show_original">Mostra l\'original</string>
|
||||
<string name="sk_translated_using">Traduït amb %s</string>
|
||||
<string name="sk_post_language">Llengua: %s</string>
|
||||
<string name="sk_available_languages">Llengües disponibles</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Segur que vols esborrar les llengües recents\?</string>
|
||||
<string name="sk_welcome_text">El tauró et saluda! Per a començar, introdueix el domini de la instància a continuació.</string>
|
||||
<string name="sk_tabs_disable_swipe">Desactiva el desplaçament entre pestanyes</string>
|
||||
<string name="sk_settings_auth">Configuració de seguretat</string>
|
||||
<string name="sk_reblogged_as">Impulsat com a %s</string>
|
||||
<string name="sk_announcements">Anuncis</string>
|
||||
<string name="sk_list_name_hint">Nom de la llista</string>
|
||||
<string name="sk_delete_list_confirm">Segur que vols eliminar la llista «%s»\?</string>
|
||||
<string name="sk_timeline_home">Inici</string>
|
||||
<string name="sk_settings_profile">Configura el perfil</string>
|
||||
<string name="sk_settings_posting">Preferències de publicació</string>
|
||||
<string name="sk_settings_filters">Configura filtres</string>
|
||||
<string name="sk_settings_rules">Normes</string>
|
||||
<string name="sk_settings_about">Quant a l\'aplicació</string>
|
||||
<string name="sk_settings_donate">Dona</string>
|
||||
<string name="sk_color_palette_material3">Sistema</string>
|
||||
<string name="sk_color_palette_red">Vermell</string>
|
||||
<string name="sk_delete_notification">Elimina la notificació</string>
|
||||
<string name="sk_delete_notification_confirm_action">Elimina la notificació</string>
|
||||
<string name="sk_delete_notification_confirm">Segur que vols eliminar la notificació\?</string>
|
||||
<string name="sk_settings_publish_button_text">Text del botó de publicació</string>
|
||||
<string name="sk_settings_publish_button_text_title">Personalitza el text del botó de publicació</string>
|
||||
<string name="sk_enable_delete_notifications">Activa l\'eliminació de notificacions</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s admet la traducció!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">Sembla que %s no admet la traducció.</string>
|
||||
<string name="sk_clear_all_notifications">Esborr totes les notificacions</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Elimina-ho tot</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Segur que vols esborrar totes les notificacions\?</string>
|
||||
<string name="sk_undo_reblog">Desfés l\'impuls</string>
|
||||
<string name="sk_reblog_with_visibility">Impulsa amb visibilitat</string>
|
||||
<string name="sk_quote_post">Publica sobre açò</string>
|
||||
<string name="sk_hashtags_you_follow">Etiquetes que segueixes</string>
|
||||
<string name="sk_copy_link_to_post">Copia l\'enllaç a la publicació</string>
|
||||
<string name="sk_open_with_account">Obri amb un altre compte</string>
|
||||
<string name="sk_resource_not_found">No s\'ha trobat el recurs</string>
|
||||
<string name="sk_forward_report_to">Reenvia a %s</string>
|
||||
<string name="sk_unsent_posts">Publicacions sense enviar</string>
|
||||
<string name="sk_draft">Esborrany</string>
|
||||
<string name="sk_schedule">Programa</string>
|
||||
<string name="sk_confirm_delete_draft_title">Elimina l\'esborrany</string>
|
||||
<string name="sk_confirm_delete_draft">Segur que vols eliminar l\'esborrany\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Elimina la publicació programada</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Segur que vols eliminar la publicació programada\?</string>
|
||||
<string name="sk_compose_draft">La publicació es desarà com a esborrany.</string>
|
||||
<string name="sk_draft_or_schedule">Com a esborrany o programa</string>
|
||||
<string name="sk_compose_scheduled">Programada per a</string>
|
||||
<string name="sk_post_scheduled">S\'ha programat la publicació</string>
|
||||
<string name="sk_draft_saved">S\'ha desat l\'esborrany</string>
|
||||
<string name="sk_scheduled_too_soon_title">L\'hora de programació és massa prompte</string>
|
||||
<string name="sk_scheduled_too_soon">La programació s\'ha de fer amb almenys 10 minuts d\'antelació.</string>
|
||||
<string name="sk_confirm_save_draft">Vols desar com a esborrany\?</string>
|
||||
<string name="sk_confirm_save_changes">Vols desar els canvis\?</string>
|
||||
<string name="sk_mark_as_draft">Desa com a esborrany</string>
|
||||
<string name="sk_schedule_post">Programa la publicació</string>
|
||||
<string name="sk_schedule_or_draft">Programa o com a esborrany</string>
|
||||
<string name="sk_compose_no_schedule">No la programes</string>
|
||||
<string name="sk_compose_no_draft">No deses com a esborrany</string>
|
||||
<string name="sk_settings_reduce_motion">Redueix el moviment de les animacions</string>
|
||||
<string name="sk_mark_as_read">Marca com a llegit</string>
|
||||
<string name="sk_settings_about_instance">Quant a la instància</string>
|
||||
<string name="sk_settings_single_notification">Mostra només una notificació</string>
|
||||
<string name="sk_create">Crea</string>
|
||||
<string name="sk_create_list_title">Crea una llista</string>
|
||||
<string name="sk_list_replies_policy">Mostra les respostes a</string>
|
||||
<string name="sk_list_replies_policy_list">membres de la llista</string>
|
||||
<string name="sk_list_replies_policy_followed">usuaris seguits</string>
|
||||
<string name="sk_list_replies_policy_none">ningú</string>
|
||||
<string name="sk_delete_list">Elimina la llista</string>
|
||||
<string name="sk_edit_list_title">Edita la llista</string>
|
||||
<string name="sk_your_lists">Llistes</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Buscant-ho al Fedivers</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Buscant-ho a %s</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
<string name="sk_confirm_delete_and_redraft">Jste si jisti, že chcete tento příspěvek smazat a přepsat\?</string>
|
||||
<string name="sk_confirm_unpin_post">Jste si jisti, že chcete tento příspěvek odepnout\?</string>
|
||||
<string name="sk_confirm_pin_post">Chcete si tento příspěvek připnout na svůj profil\?</string>
|
||||
<string name="sk_federated_timeline_info_banner">Toto jsou nejnovější příspěvky lidí z vaší federace.</string>
|
||||
<string name="sk_disable_marquee">Zakázat posouvání textu v titulkových lištách</string>
|
||||
<string name="sk_welcome_text">Žralok tě zdraví! Chcete-li začít, zadejte níže název domény své domovské instance.</string>
|
||||
<string name="sk_clear_recent_languages">Vymazat nedávno použité jazyky</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Jste si jisti, že chcete vymazat nedávno použité jazyky\?</string>
|
||||
<string name="sk_delete_notification_confirm">Opravdu chcete toto oznámení odstranit\?</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s zřejmě nepodporuje překlad.</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Opravdu chcete vymazat všechna oznámení\?</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Podívejte se na Fediverse</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Vyhledávání na %s</string>
|
||||
<string name="sk_resource_not_found">Zdroj se nepodařilo najít</string>
|
||||
<string name="sk_scheduled_too_soon">Příspěvek musí být naplánován alespoň 10 minut dopředu.</string>
|
||||
<string name="sk_confirm_delete_draft">Jste si jistý, že chcete tento navržený příspěvek smazat\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Určitě chcete tento naplánovaný příspěvek smazat\?</string>
|
||||
<string name="sk_delete_list_confirm">Opravdu chcete tento seznam odstranit\?</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_pinned_posts">Připnutý</string>
|
||||
<string name="sk_delete_and_redraft">vymazat a přepracovat</string>
|
||||
</resources>
|
||||
71
mastodon/src/main/res/values-cy/strings_sk.xml
Normal file
71
mastodon/src/main/res/values-cy/strings_sk.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sk_delete_and_redraft">Dileu ac ailddrafftio</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Dileu ac ailddrafftio\'r neges</string>
|
||||
<string name="sk_confirm_pin_post_title">Pinio i\'ch proffil</string>
|
||||
<string name="sk_pinning">Wrthi\'n pinio\'r neges…</string>
|
||||
<string name="sk_unpin_post">Dadbinio o\'ch proffil</string>
|
||||
<string name="sk_confirm_unpin_post_title">Dadbinio neges o\'ch proffil</string>
|
||||
<string name="sk_unpinning">Wrthi\'n dadbinio\'r neges…</string>
|
||||
<string name="sk_settings_show_replies">Dangos ymatebion</string>
|
||||
<string name="sk_list_timelines">Rhestri</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Datguddio rhybuddion cynnwys bob tro</string>
|
||||
<string name="sk_settings_contribute">Cyfrannu at Moshidon</string>
|
||||
<string name="sk_notification_type_status">Negeseuon</string>
|
||||
<string name="sk_color_palette_material3">System</string>
|
||||
<string name="sk_color_palette_pink">Pinc</string>
|
||||
<string name="sk_color_palette_purple">Porffor</string>
|
||||
<string name="sk_color_palette_green">Gwyrdd</string>
|
||||
<string name="sk_color_palette_blue">Glas</string>
|
||||
<string name="sk_color_palette_brown">Brown</string>
|
||||
<string name="sk_color_palette_red">Coch</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_confirm_pin_post">Hoffech chi binio\'r neges hon i\'ch proffil\?</string>
|
||||
<string name="sk_visibility_unlisted">Heb ei restru</string>
|
||||
<string name="sk_settings_load_new_posts">Llwytho negeseuon newydd yn ddiofyn</string>
|
||||
<string name="sk_settings_app_version">Moshidon v%1$s (%2$d)</string>
|
||||
<string name="sk_update_available">Mae Moshidon %s yn barod i\'w lawrlwytho.</string>
|
||||
<string name="sk_update_ready">Mae Moshidon %s wedi ei lawrlwytho ac yn barod i\'w osod.</string>
|
||||
<string name="sk_color_palette_yellow">Melyn</string>
|
||||
<string name="sk_translate_post">Cyfieithu</string>
|
||||
<string name="sk_translate_show_original">Dangos y gwreiddiol</string>
|
||||
<string name="sk_post_language">Iaith: %s</string>
|
||||
<string name="sk_welcome_title">Croeso!</string>
|
||||
<string name="sk_settings_auth">Gosodiadau diogelwch</string>
|
||||
<string name="sk_pin_post">Pinio i\'ch proffil</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Ydych chi\'n siŵr eich bod am ddileu ac ailddrafftio\'r neges hon\?</string>
|
||||
<string name="sk_confirm_unpin_post">Ydych chi\'n siŵr eich bod am ddadbinio\'r neges hon\?</string>
|
||||
<string name="sk_notify_posts">Hysbysiadau negeseuon</string>
|
||||
<string name="sk_settings_color_palette">Palet lliwiau</string>
|
||||
<string name="sk_no_update_available">Dim diweddariad ar gael</string>
|
||||
<string name="sk_check_for_update">Gwirio am ddiweddariad</string>
|
||||
<string name="sk_poll_allow_multiple">Caniatáu mwy nag un dewis</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_tabs_disable_swipe">Analluogi llusgo rhwng tabiau</string>
|
||||
<string name="sk_settings_posting">Dewisiadau postio</string>
|
||||
<string name="sk_settings_rules">Rheolau</string>
|
||||
<string name="sk_settings_donate">Rhoddi</string>
|
||||
<string name="sk_settings_publish_button_text">Testun y botwm cyhoeddi</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">Nid yw\'n ymddangos bod %s yn cefnogi cyfieithu.</string>
|
||||
<string name="sk_hashtags_you_follow">Hashnodau rydych chi\'n eu dilyn</string>
|
||||
<string name="sk_copy_link_to_post">Copïo dolen i\'r neges</string>
|
||||
<string name="sk_draft">Drafft</string>
|
||||
<string name="sk_confirm_delete_draft_title">Dileu\'r drafft</string>
|
||||
<string name="sk_draft_saved">Drafft wedi\'i gadw</string>
|
||||
<string name="sk_timeline_home">Hafan</string>
|
||||
<string name="sk_mark_media_as_sensitive">Nodi fel cynnwys sensitif</string>
|
||||
<string name="sk_available_languages">Pob iaith</string>
|
||||
<string name="sk_clear_recent_languages">Clirio\'r ieithoedd a ddefnyddiwyd yn ddiweddar</string>
|
||||
<string name="sk_settings_about">Ynghylch yr ap</string>
|
||||
<string name="sk_clear_all_notifications">Dileu pob hysbysiad</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Dileu\'r cwbl</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Ydych chi\'n siŵr eich bod am ddileu pob hysbysiad\?</string>
|
||||
<string name="sk_enable_delete_notifications">Galluogi dileu hysbysiadau</string>
|
||||
<string name="sk_settings_publish_button_text_title">Addasu testun y botwm cyhoeddi</string>
|
||||
<string name="sk_settings_translation_availability_note_available">Mae %s yn cefnogi cyfieithu!</string>
|
||||
<string name="sk_unsent_posts">Negeseuon heb eu hanfon</string>
|
||||
<string name="sk_confirm_delete_draft">Ydych chi\'n siŵr eich bod am ddileu\'r neges ddrafft hon\?</string>
|
||||
<string name="sk_compose_draft">Caiff y neges ei chadw fel drafft.</string>
|
||||
<string name="sk_confirm_save_changes">Cadw newidiadau\?</string>
|
||||
<string name="sk_announcements">Cyhoeddiadau</string>
|
||||
</resources>
|
||||
@@ -4,14 +4,14 @@
|
||||
<string name="sk_pinned_posts">Angeheftet</string>
|
||||
<string name="sk_delete_and_redraft">Löschen und neu erstellen</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Beitrag löschen und neu erstellen</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Bist du dir sicher, dass du diesen Beitrag löschen und neu erstellen möchtest\?</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Bist du dir sicher, dass du diesen Beitrag löschen und neu erstellen möchtest?</string>
|
||||
<string name="sk_pin_post">An Profil anheften</string>
|
||||
<string name="sk_confirm_pin_post_title">Beitrag an Profil anheften</string>
|
||||
<string name="sk_confirm_pin_post">Möchtest du den Beitrag an dein Profil anheften?</string>
|
||||
<string name="sk_pinning">Wird angeheftet…</string>
|
||||
<string name="sk_unpin_post">Von Profil lösen</string>
|
||||
<string name="sk_confirm_unpin_post_title">Angehefteten Beitrag von Profil lösen</string>
|
||||
<string name="sk_confirm_unpin_post">Bist du dir sicher, dass du den angehefteten Beitrag von deinem Profil lösen möchtest\?</string>
|
||||
<string name="sk_confirm_unpin_post">Diesen angehefteten Beitrag wirklich von deinem Profil lösen\?</string>
|
||||
<string name="sk_unpinning">Wird vom Profil gelöst…</string>
|
||||
<string name="sk_image_description">Bildbeschreibung</string>
|
||||
<string name="sk_visibility_unlisted">Nicht gelistet</string>
|
||||
@@ -27,45 +27,40 @@
|
||||
<string name="sk_federated_timeline_info_banner">Das sind die neuesten Beiträge von Personen, die in der Föderation deines Servers sind.</string>
|
||||
<string name="sk_update_available">Moshidon %s ist zum Herunterladen bereit.</string>
|
||||
<string name="sk_update_ready">Moshidon %s wurde heruntergeladen und kann jetzt installiert werden.</string>
|
||||
<string name="sk_changelog">Changelog:</string>
|
||||
<string name="sk_check_for_update">Auf Update prüfen</string>
|
||||
<string name="sk_no_update_available">Kein Update verfügbar</string>
|
||||
<string name="sk_list_timelines">Listen</string>
|
||||
<string name="sk_follow_requests">Folgeanfragen</string>
|
||||
<string name="sk_accept_follow_request">Folgeanfrage akzeptieren</string>
|
||||
<string name="sk_reject_follow_request">Folgeanfrage ablehnen</string>
|
||||
<string name="sk_lists_with_user">Listen mit %s</string>
|
||||
<string name="sk_lists_with_user">Listen mit %s bearbeiten</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Inhaltswarnungen immer ausklappen</string>
|
||||
<string name="sk_disable_marquee">Laufschrift in Titelleisten deaktivieren</string>
|
||||
<string name="sk_disable_dividers">Beitrags Trennung deaktivieren</string>
|
||||
<string name="sk_relocate_publish_button">Veröffentlichen Schaltfläche verschieben</string>
|
||||
<string name="sk_settings_contribute">Zu Moshidon beitragen</string>
|
||||
<string name="sk_settings_show_federated_timeline">Föderierte Timeline anzeigen</string>
|
||||
<string name="sk_notification_type_status">Beiträge</string>
|
||||
<string name="sk_notify_posts">Beitrags-Benachrichtigungen</string>
|
||||
<string name="sk_settings_color_palette">Farbschema</string>
|
||||
<string name="sk_color_palette_material3">System</string>
|
||||
<string name="sk_color_palette_pink">Pink</string>
|
||||
<string name="sk_color_palette_purple">Violett</string>
|
||||
<string name="sk_color_palette_green">Grün</string>
|
||||
<string name="sk_color_palette_blue">Blau</string>
|
||||
<string name="sk_color_palette_brown">Braun</string>
|
||||
<string name="sk_color_palette_red">Rot</string>
|
||||
<string name="sk_color_palette_yellow">Gelb</string>
|
||||
<string name="sk_color_palette_nord">Nord</string>
|
||||
<string name="sk_notification_type_status">Beiträge</string>
|
||||
<string name="sk_color_palette_blue">Blau</string>
|
||||
<string name="sk_poll_allow_multiple">Mehrfachantworten erlauben</string>
|
||||
<string name="sk_translated_using">Übersetzt mit %s</string>
|
||||
<string name="sk_post_language">Sprache: %s</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Sicher, dass du die Liste der zuletzt verwendeten Sprachen leeren willst\?</string>
|
||||
<string name="sk_translate_post">Übersetzen</string>
|
||||
<string name="sk_translate_show_original">Original anzeigen</string>
|
||||
<string name="sk_post_language">Sprache: %s</string>
|
||||
<string name="sk_available_languages">Verfügbare Sprachen</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_clear_recent_languages">Zuletzt verwendete Sprachen leeren</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Sicher, dass du die Liste der zuletzt verwendeten Sprachen leeren willst\?</string>
|
||||
<string name="sk_welcome_title">Willkommen!</string>
|
||||
<string name="sk_welcome_text">Moshidon sagt Hi! gib den Domain-Namen deiner Heimat-Instanz unten ein.</string>
|
||||
<string name="sk_example_domain">beispiel.social</string>
|
||||
<string name="sk_tabs_disable_swipe">Wischen zwischen Tabs deaktivieren</string>
|
||||
<string name="sk_welcome_text">Der Hai sagt Hi! Um anzufangen, gib den Domain-Namen deiner Heimat-Instanz unten ein.</string>
|
||||
<string name="sk_color_palette_material3">System</string>
|
||||
<string name="sk_color_palette_red">Rot</string>
|
||||
<string name="sk_settings_profile">Profil einrichten</string>
|
||||
<string name="sk_settings_posting">Einstellungen für Beiträge</string>
|
||||
<string name="sk_settings_filters">Filter konfigurieren</string>
|
||||
@@ -73,35 +68,35 @@
|
||||
<string name="sk_settings_rules">Regelwerk</string>
|
||||
<string name="sk_settings_about">Über die App</string>
|
||||
<string name="sk_settings_donate">Spenden</string>
|
||||
<string name="sk_delete_notification">Benachrichtigung löschen</string>
|
||||
<string name="sk_tabs_disable_swipe">Wischen zwischen Tabs deaktivieren</string>
|
||||
<string name="sk_delete_notification_confirm_action">Benachrichtigung löschen</string>
|
||||
<string name="sk_delete_notification_confirm">Benachrichtigung wirklich löschen\?</string>
|
||||
<string name="sk_clear_all_notifications">Alle Benachrichtigungen löschen</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Alle löschen</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Wirklich alle Benachrichtigungen löschen\?</string>
|
||||
<string name="sk_enable_delete_notifications">Löschen von Benachrichtigungen aktivieren</string>
|
||||
<string name="sk_settings_publish_button_text">Veröffentlichen-Button-Text</string>
|
||||
<string name="sk_settings_publish_button_text_title">Veröffentlichen-Button-Text anpassen</string>
|
||||
<string name="sk_settings_translate_only_opened">Nur geöffnete Beiträge übersetzen</string>
|
||||
<string name="sk_delete_notification">Benachrichtigung löschen</string>
|
||||
<string name="sk_clear_all_notifications">Alle Benachrichtigungen löschen</string>
|
||||
<string name="sk_settings_publish_button_text_title">Veröffentlichen-Button-Text anpassen</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Wirklich alle Benachrichtigungen löschen\?</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s unterstützt Übersetzung!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s scheint keine Übersetzung zu unterstützen.</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Suche im Fediverse</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Suche auf %s</string>
|
||||
<string name="sk_undo_reblog">Reblog rückgängig machen</string>
|
||||
<string name="sk_reblog_with_visibility">Rebloggen mit Sichtbarkeit</string>
|
||||
<string name="sk_quote_post">Drüberkommentieren</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtags, denen du folgst</string>
|
||||
<string name="sk_copy_link_to_post">Link zum Beitrag kopieren</string>
|
||||
<string name="sk_open_in_account">In anderem Konto öffnen</string>
|
||||
<string name="sk_open_with_account">Mit anderem Konto öffnen</string>
|
||||
<string name="sk_resource_not_found">Ressource nicht gefunden</string>
|
||||
<string name="sk_bookmark_as">Lesezeichen in anderem Konto</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Suche auf %s</string>
|
||||
<string name="sk_bookmark_as">Lesezeichen mit anderem Konto</string>
|
||||
<string name="sk_bookmarked_as">Lesezeichen gesetzt als %s</string>
|
||||
<string name="sk_already_bookmarked">Bereits in den Lesezeichen</string>
|
||||
<string name="sk_favorite_as">Favorit von anderem Konto</string>
|
||||
<string name="sk_favorite_as">Favorit mit anderem Konto</string>
|
||||
<string name="sk_favorited_as">Favorisiert als %s</string>
|
||||
<string name="sk_already_favorited">Bereits favorisiert</string>
|
||||
<string name="sk_reblog_as">Von einem anderen Konto boosten</string>
|
||||
<string name="sk_reblog_as">Mit einem anderen Konto boosten</string>
|
||||
<string name="sk_reblogged_as">Geboostet als %s</string>
|
||||
<string name="sk_already_reblogged">Bereits geboostet</string>
|
||||
<string name="sk_reply_as">Antworten mit anderem Konto</string>
|
||||
@@ -121,24 +116,36 @@
|
||||
<string name="sk_post_scheduled">Beitrag geplant</string>
|
||||
<string name="sk_scheduled_too_soon_title">Geplante Zeit ist zu früh</string>
|
||||
<string name="sk_scheduled_too_soon">Der Beitrag muss mindestens 10 Minuten in der Zukunft eingeplant werden.</string>
|
||||
<string name="sk_confirm_save_draft">Entwurf speichern?</string>
|
||||
<string name="sk_confirm_save_changes">Änderungen speichern?</string>
|
||||
<string name="sk_mark_as_draft">Als Entwurf markieren</string>
|
||||
<string name="sk_confirm_save_changes">Änderungen speichern\?</string>
|
||||
<string name="sk_schedule_post">Beitrag planen</string>
|
||||
<string name="sk_schedule_or_draft">Planen oder Entwurf</string>
|
||||
<string name="sk_confirm_save_draft">Entwurf speichern\?</string>
|
||||
<string name="sk_mark_as_draft">Als Entwurf markieren</string>
|
||||
<string name="sk_schedule_or_draft">Planen oder Vorlage</string>
|
||||
<string name="sk_compose_no_schedule">Nicht planen</string>
|
||||
<string name="sk_compose_no_draft">Nicht entwerfen</string>
|
||||
<string name="sk_settings_reduce_motion">Bewegungen in Animationen reduzieren</string>
|
||||
<string name="sk_bot_account">Dies ist ein Bot-Konto</string>
|
||||
<string name="sk_no_image_desc_title">Keine Bildbeschreibung</string>
|
||||
<string name="sk_no_image_desc">Die enthaltenen Bilder haben keine Beschreibung. Bitte füge eine Beschreibung hinzu, damit auch sehbehinderte Personen teilnehmen können.</string>
|
||||
<string name="sk_emoji_recent">Kürzlich verwendet</string>
|
||||
<string name="sk_clear_recent_emoji">Kürzlich verwendete Emojis löschen</string>
|
||||
<string name="sk_disable_relocate_publish_button_to_enable_customization">Deaktiviere die Funktion "Veröffentlichen Schaltfläche verschieben", um eine Anpassung zu ermöglichen.</string>
|
||||
<string name="sk_keep_only_latest_notification">Nur neueste Benachrichtigung behalten</string>
|
||||
<string name="sk_announcements">Ankündigungen</string>
|
||||
<string name="sk_settings_reduce_motion">Bewegung in Animationen reduzieren</string>
|
||||
<string name="sk_mark_as_read">Als gelesen markieren</string>
|
||||
<string name="sk_poll_option_add">Neue Umfrageoption hinzufügen</string>
|
||||
<string name="sk_fab_compose">Verfassen</string>
|
||||
<string name="sk_sending_error">Fehler beim Veröffentlichen</string>
|
||||
</resources>
|
||||
<string name="sk_settings_about_instance">Über die Instanz</string>
|
||||
<string name="sk_create">Erstellen</string>
|
||||
<string name="sk_create_list_title">Liste erstellen</string>
|
||||
<string name="sk_list_name_hint">Name der Liste</string>
|
||||
<string name="sk_list_replies_policy">Mit Antworten von</string>
|
||||
<string name="sk_list_replies_policy_list">Listen-Mitgliedern</string>
|
||||
<string name="sk_list_replies_policy_followed">gefolgten User_innen</string>
|
||||
<string name="sk_list_replies_policy_none">niemandem</string>
|
||||
<string name="sk_delete_list">Liste löschen</string>
|
||||
<string name="sk_edit_list_title">Liste bearbeiten</string>
|
||||
<string name="sk_your_lists">Deine Listen</string>
|
||||
<string name="sk_announcements">Ankündigungen</string>
|
||||
<string name="sk_settings_single_notification">Nur eine Benachrichtigung anzeigen</string>
|
||||
<string name="sk_delete_list_confirm">Liste “%s” wirklich löschen\?</string>
|
||||
<string name="sk_timeline_home">Start</string>
|
||||
<string name="sk_timeline_local">Lokal</string>
|
||||
<string name="sk_timeline_federated">Föderiert</string>
|
||||
<string name="sk_recent_searches_placeholder">Tippe, um die Suche zu starten</string>
|
||||
<string name="sk_do_remove_follower">Entfernen</string>
|
||||
<string name="sk_remove_follower_success">Follower_in erfolgreich entfernt</string>
|
||||
<string name="sk_changelog">Änderungsverlauf</string>
|
||||
<string name="sk_remove_follower">Nicht mehr folgen lassen</string>
|
||||
<string name="sk_remove_follower_confirm">%s als Follower_in entfernen\? Die Person wird dabei blockiert und gleich wieder freigegeben.</string>
|
||||
</resources>
|
||||
@@ -32,7 +32,7 @@
|
||||
<string name="sk_follow_requests">Solicitudes de seguimiento</string>
|
||||
<string name="sk_accept_follow_request">Aceptar solicitud de seguimiento</string>
|
||||
<string name="sk_reject_follow_request">Rechazar solicitud de seguimiento</string>
|
||||
<string name="sk_lists_with_user">Listas con %s</string>
|
||||
<string name="sk_lists_with_user">Editar listas con %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Mostrar siempre advertencias de contenido</string>
|
||||
<string name="sk_disable_marquee">Desactivar desplazamiento de texto en barras del título</string>
|
||||
<string name="sk_settings_contribute">Contribuir a Moshidon</string>
|
||||
@@ -94,12 +94,12 @@
|
||||
<string name="sk_already_bookmarked">Ya marcado</string>
|
||||
<string name="sk_favorited_as">Favorito como %s</string>
|
||||
<string name="sk_already_favorited">Ya es un favorito</string>
|
||||
<string name="sk_reblog_as">Compartir desde otra cuenta</string>
|
||||
<string name="sk_reblog_as">Compartir con otra cuenta</string>
|
||||
<string name="sk_reblogged_as">Compartido como %s</string>
|
||||
<string name="sk_already_reblogged">Ya se volvió a publicar</string>
|
||||
<string name="sk_reply_as">Responder con otra cuenta</string>
|
||||
<string name="sk_bookmark_as">Marcador de otra cuenta</string>
|
||||
<string name="sk_favorite_as">Favoritos de otra cuenta</string>
|
||||
<string name="sk_bookmark_as">Marcar con otra cuenta</string>
|
||||
<string name="sk_favorite_as">Favoritos con otra cuenta</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Mismo icono para todas las notificaciones</string>
|
||||
<string name="sk_forward_report_to">Reenviar a %s</string>
|
||||
<string name="sk_unsent_posts">Mensajes no enviados</string>
|
||||
@@ -120,4 +120,26 @@
|
||||
<string name="sk_confirm_save_changes">¿Guardar los cambios\?</string>
|
||||
<string name="sk_mark_as_draft">Marcar como borrador</string>
|
||||
<string name="sk_schedule_post">Programar la publicación</string>
|
||||
<string name="sk_schedule_or_draft">Calendario o proyecto</string>
|
||||
<string name="sk_compose_no_schedule">No programar</string>
|
||||
<string name="sk_compose_no_draft">No hagas borradores</string>
|
||||
<string name="sk_settings_reduce_motion">Reducir el movimiento en las animaciones</string>
|
||||
<string name="sk_announcements">Anuncios</string>
|
||||
<string name="sk_mark_as_read">Marcar como leído</string>
|
||||
<string name="sk_settings_about_instance">Sobre la instancia</string>
|
||||
<string name="sk_settings_single_notification">Mostrar solo una notificación</string>
|
||||
<string name="sk_create">Crear</string>
|
||||
<string name="sk_create_list_title">Crear una lista</string>
|
||||
<string name="sk_list_name_hint">Lista de nombres</string>
|
||||
<string name="sk_list_replies_policy">Mostrar respuestas a</string>
|
||||
<string name="sk_list_replies_policy_followed">Usuarios a los que sigues</string>
|
||||
<string name="sk_list_replies_policy_none">Ninguno</string>
|
||||
<string name="sk_delete_list">Eliminar la lista</string>
|
||||
<string name="sk_delete_list_confirm">¿Está seguro de que desea eliminar esta lista\?</string>
|
||||
<string name="sk_edit_list_title">Editar la lista</string>
|
||||
<string name="sk_your_lists">Tus listas</string>
|
||||
<string name="sk_list_replies_policy_list">Lista de miembros</string>
|
||||
<string name="sk_timeline_home">Inicio</string>
|
||||
<string name="sk_timeline_federated">Federación</string>
|
||||
<string name="sk_timeline_local">Local</string>
|
||||
</resources>
|
||||
@@ -36,12 +36,12 @@
|
||||
<string name="sk_translated_using">%s-ekin itzulia</string>
|
||||
<string name="sk_post_language">Hizkuntza: %s</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_bookmark_as">Beste kontu bateko laster-marka</string>
|
||||
<string name="sk_bookmark_as">Beste kontu baten laster-marka</string>
|
||||
<string name="sk_bookmarked_as">%s bezala laster-markara eramana</string>
|
||||
<string name="sk_already_bookmarked">Dagoeneko laster-marka da</string>
|
||||
<string name="sk_favorite_as">Beste kontu bateko gogokoa</string>
|
||||
<string name="sk_favorite_as">Beste kontu baten gogokoa</string>
|
||||
<string name="sk_favorited_as">%s bezela dago gogokoetan</string>
|
||||
<string name="sk_reblog_as">Beste kontu batetik bultzatua</string>
|
||||
<string name="sk_reblog_as">Beste kontu batekin bultzatua</string>
|
||||
<string name="sk_reblogged_as">%s bezela bultzatua</string>
|
||||
<string name="sk_already_reblogged">Dagoeneko bultzatua izan da</string>
|
||||
<string name="sk_reply_as">Erantzun beste kontu batekin</string>
|
||||
@@ -70,7 +70,7 @@
|
||||
<string name="sk_settings_publish_button_text">Argitaratze botoiaren testua</string>
|
||||
<string name="sk_settings_publish_button_text_title">Pertsonalizatu argitaratze botoiaren testua</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s-k itzulpena onartzen du!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s ez da itzulpena onartzen duten hizkuntzen artean ageri.</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s ez da itzulpena onartzen duten instantzien artean ageri.</string>
|
||||
<string name="sk_clear_all_notifications">Ezabatu jakinarazpen guztiak</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Ezabatu dena</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Ziur al zaude jakinarazpen guztiak ezabatu nahi dituzula\?</string>
|
||||
@@ -101,4 +101,27 @@
|
||||
<string name="sk_settings_translate_only_opened">Irekitako argitalpenak soilik itzuli</string>
|
||||
<string name="sk_already_favorited">Dagoeneko gogokoen artean dago</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Ikono berdina jakinarazpen guztietarako</string>
|
||||
<string name="sk_forward_report_to">%s-(e)ri birbidali</string>
|
||||
<string name="sk_unsent_posts">Bidali gabeko argitalpenak</string>
|
||||
<string name="sk_draft">Zirriborroa</string>
|
||||
<string name="sk_schedule">Programatu</string>
|
||||
<string name="sk_confirm_delete_draft_title">Ezabatu zirriborroa</string>
|
||||
<string name="sk_confirm_delete_draft">Ziur al zaude zirriborro hau ezabatu nahi duzula\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Ezabatu programatutako argitalpena</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Ziur al zaude programatutako argitalpena ezabatu nahi duzula\?</string>
|
||||
<string name="sk_draft_or_schedule">Zirriborrotara bidali edo programatu</string>
|
||||
<string name="sk_compose_draft">Argitalpena zirriborro bezala gordeko da.</string>
|
||||
<string name="sk_compose_scheduled">Honentzako programatu</string>
|
||||
<string name="sk_draft_saved">Zirriborroa gorde da</string>
|
||||
<string name="sk_post_scheduled">Argitalpena programatu da</string>
|
||||
<string name="sk_scheduled_too_soon_title">Programatze denbora murritzegia da</string>
|
||||
<string name="sk_scheduled_too_soon">Argitalpena gutxienez 10 minutu lehenago programatu behar da.</string>
|
||||
<string name="sk_confirm_save_changes">Aldaketak gorde nahi dituzu\?</string>
|
||||
<string name="sk_confirm_save_draft">Zirriborroa gorde nahi duzu\?</string>
|
||||
<string name="sk_mark_as_draft">Markatu zirriborro gisa</string>
|
||||
<string name="sk_schedule_post">Argitalpena programatu</string>
|
||||
<string name="sk_schedule_or_draft">Programatu edo zirriborro egin</string>
|
||||
<string name="sk_compose_no_schedule">Ez programatu</string>
|
||||
<string name="sk_compose_no_draft">Ez egin zirriborrorik</string>
|
||||
<string name="sk_settings_reduce_motion">Animazioen mugimenduak gutxitu</string>
|
||||
</resources>
|
||||
@@ -25,7 +25,7 @@
|
||||
<string name="sk_follow_requests">Suivre les demandes</string>
|
||||
<string name="sk_accept_follow_request">Accepter la demande de suivi</string>
|
||||
<string name="sk_reject_follow_request">Refuser la demande de suivi</string>
|
||||
<string name="sk_lists_with_user">Listes avec %s</string>
|
||||
<string name="sk_lists_with_user">Modifier les listes avec %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Toujours afficher les avertissements de contenu</string>
|
||||
<string name="sk_disable_marquee">Désactiver le défilement du texte dans les barres de titre</string>
|
||||
<string name="sk_settings_contribute">Contribuez à Moshidon</string>
|
||||
@@ -77,7 +77,7 @@
|
||||
<string name="sk_enable_delete_notifications">Activer la suppression des notifications</string>
|
||||
<string name="sk_settings_publish_button_text_title">Personnaliser le texte du bouton Publier</string>
|
||||
<string name="sk_settings_publish_button_text">Texte du bouton Publier</string>
|
||||
<string name="sk_settings_hide_translate_in_timeline">Masquer le bouton de traduction dans la timeline</string>
|
||||
<string name="sk_settings_translate_only_opened">Masquer le bouton de traduction dans la timeline</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s prend en charge la traduction !</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s ne semble pas prendre en charge la traduction.</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Voulez-vous vraiment supprimer toutes les notifications \?</string>
|
||||
@@ -91,7 +91,7 @@
|
||||
<string name="sk_loading_resource_on_instance_title">Rechercher sur %s</string>
|
||||
<string name="sk_open_with_account">Ouvrir avec un autre compte</string>
|
||||
<string name="sk_resource_not_found">La ressource est introuvable</string>
|
||||
<string name="sk_favorite_as">Favoris d\'un autre compte</string>
|
||||
<string name="sk_favorite_as">Mettre en favoris avec un autre compte</string>
|
||||
<string name="sk_already_bookmarked">Déjà mis en signet</string>
|
||||
<string name="sk_already_favorited">Déjà mis en favori</string>
|
||||
<string name="sk_reblogged_as">Reposté en tant que %s</string>
|
||||
@@ -99,8 +99,8 @@
|
||||
<string name="sk_bookmarked_as">Ajouté aux signets en tant que %s</string>
|
||||
<string name="sk_favorited_as">Ajouté aux favoris en tant que %s</string>
|
||||
<string name="sk_reply_as">Répondre avec un autre compte</string>
|
||||
<string name="sk_bookmark_as">Mettre en signet sur un autre compte</string>
|
||||
<string name="sk_reblog_as">Reposter depuis un autre compte</string>
|
||||
<string name="sk_bookmark_as">Mettre en signet avec un autre compte</string>
|
||||
<string name="sk_reblog_as">Reposter avec un autre compte</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Icône uniforme pour toutes les notifications</string>
|
||||
<string name="sk_forward_report_to">Transférer à %s</string>
|
||||
<string name="sk_unsent_posts">Messages non envoyés</string>
|
||||
@@ -110,9 +110,9 @@
|
||||
<string name="sk_confirm_delete_scheduled_post">Voulez-vous vraiment supprimer ce message planifié \?</string>
|
||||
<string name="sk_schedule">Planifier</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Supprimer le message planifié</string>
|
||||
<string name="sk_draft_or_schedule">Rédiger ou planifier</string>
|
||||
<string name="sk_draft_or_schedule">Rédiger un brouillon ou planifier</string>
|
||||
<string name="sk_compose_draft">Le message sera enregistré en tant que brouillon.</string>
|
||||
<string name="sk_compose_scheduled">Planifié pour</string>
|
||||
<string name="sk_compose_scheduled">Planifié pour le</string>
|
||||
<string name="sk_draft_saved">Brouillon enregistré</string>
|
||||
<string name="sk_post_scheduled">Message planifié</string>
|
||||
<string name="sk_scheduled_too_soon_title">L\'heure prévue est trop proche</string>
|
||||
@@ -121,4 +121,27 @@
|
||||
<string name="sk_mark_as_draft">Marquer comme brouillon</string>
|
||||
<string name="sk_schedule_post">Planifier le message</string>
|
||||
<string name="sk_confirm_save_changes">Sauvegarder les modifications \?</string>
|
||||
<string name="sk_compose_no_schedule">Ne pas planifier</string>
|
||||
<string name="sk_compose_no_draft">Ne pas marquer comme brouillon</string>
|
||||
<string name="sk_schedule_or_draft">Planifier ou rédiger un brouillon</string>
|
||||
<string name="sk_settings_reduce_motion">Réduire le mouvement dans les animations</string>
|
||||
<string name="sk_mark_as_read">Marquer comme lu</string>
|
||||
<string name="sk_settings_about_instance">À propos de l\'instance</string>
|
||||
<string name="sk_create">Créer</string>
|
||||
<string name="sk_create_list_title">Créer une liste</string>
|
||||
<string name="sk_list_name_hint">Nom de la liste</string>
|
||||
<string name="sk_list_replies_policy">Afficher les réponses à</string>
|
||||
<string name="sk_list_replies_policy_list">membres de la liste</string>
|
||||
<string name="sk_list_replies_policy_followed">utilisateurs suivis</string>
|
||||
<string name="sk_list_replies_policy_none">personne</string>
|
||||
<string name="sk_delete_list">Supprimer la liste</string>
|
||||
<string name="sk_edit_list_title">Modifier la liste</string>
|
||||
<string name="sk_announcements">Annonces</string>
|
||||
<string name="sk_settings_single_notification">Afficher une seule notification</string>
|
||||
<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">Communauté</string>
|
||||
<string name="sk_timeline_home">Accueil</string>
|
||||
<string name="sk_recent_searches_placeholder">Tapez quelque chose pour commencer la recherche</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_delete_and_redraft">Eliminar e rescribir</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Tes a certeza de querere eliminar e rescribir esta publicación\?</string>
|
||||
<string name="sk_pinned_posts">Fixado</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Elimina e rescribe a Publicación</string>
|
||||
<string name="sk_pin_post">Fixar no perfil</string>
|
||||
<string name="sk_confirm_pin_post_title">Fixar publicación ao perfil</string>
|
||||
<string name="sk_confirm_pin_post">Queres fixar esta publicación ao teu perfil\?</string>
|
||||
<string name="sk_pinning">Fixando a publicación…</string>
|
||||
<string name="sk_unpin_post">Desafixar do perfil</string>
|
||||
<string name="sk_confirm_unpin_post_title">Desafixar publicación do perfil</string>
|
||||
<string name="sk_confirm_unpin_post">Tes a certeza de querer desafixar esta publicación\?</string>
|
||||
<string name="sk_unpinning">Desafixando publicación…</string>
|
||||
<string name="sk_image_description">Descrición da imaxe</string>
|
||||
<string name="sk_lists_with_user">Editar listas con %s</string>
|
||||
<string name="sk_visibility_unlisted">Non listado</string>
|
||||
<string name="sk_settings_show_replies">Mostrar respostas</string>
|
||||
<string name="sk_settings_show_boosts">Mostrar promocións</string>
|
||||
<string name="sk_settings_load_new_posts">Cargar automáticamente novas publicacións</string>
|
||||
<string name="sk_settings_show_interaction_counts">Mostrar contadores de interaccións</string>
|
||||
<string name="sk_settings_app_version">Moshidon v%1$s (%2$d)</string>
|
||||
<string name="sk_mark_media_as_sensitive">Marcar multimedia como sensible</string>
|
||||
<string name="sk_user_post_notifications_on">Acender notificación de publicación para %s</string>
|
||||
<string name="sk_user_post_notifications_off">Apagar notificación de publicación para %s</string>
|
||||
<string name="sk_federated_timeline">Federación</string>
|
||||
<string name="sk_federated_timeline_info_banner">Estas son as publicacións máis recentes das persoas da túa federación.</string>
|
||||
<string name="sk_update_available">Moshidon %s está lista para descargar.</string>
|
||||
<string name="sk_update_ready">Moshidon %s foi descargada e está lista para instalar.</string>
|
||||
<string name="sk_check_for_update">Comprobar actualizacións</string>
|
||||
<string name="sk_no_update_available">Non hai actualizacións</string>
|
||||
<string name="sk_list_timelines">Listas</string>
|
||||
<string name="sk_follow_requests">Solicitudes de seguimento</string>
|
||||
<string name="sk_accept_follow_request">Aceptar solicitude</string>
|
||||
<string name="sk_reject_follow_request">Rexeitar solicitude</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Mostrar sempre o contido con avisos</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,127 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
<string name="sk_notification_type_status">Hozzászólások</string>
|
||||
<string name="sk_notify_posts">Postai értesítések</string>
|
||||
<string name="sk_translate_post">Lefordítani</string>
|
||||
<string name="sk_post_language">Nyelv: %s</string>
|
||||
<string name="sk_clear_recent_languages">Nemrég használt nyelvek törlése</string>
|
||||
<string name="sk_welcome_title">Üdvözöljük!</string>
|
||||
<string name="sk_example_domain">példa.social</string>
|
||||
<string name="sk_confirm_pin_post">Szeretné ezt a bejegyzést a profiljához tűzni\?</string>
|
||||
<string name="sk_confirm_unpin_post">Biztos vagy benne, hogy vissza akarod törölni ezt a posztot\?</string>
|
||||
<string name="sk_pinned_posts">Tűzött</string>
|
||||
<string name="sk_delete_and_redraft">Törlés és újraszövegezés</string>
|
||||
<string name="sk_pin_post">Pin a profilhoz</string>
|
||||
<string name="sk_confirm_pin_post_title">Hozzászólás rögzítése a profilhoz</string>
|
||||
<string name="sk_pinning">Pinning poszt…</string>
|
||||
<string name="sk_unpin_post">Unpin a profilból</string>
|
||||
<string name="sk_confirm_unpin_post_title">Hozzászólás feloldása a profilból</string>
|
||||
<string name="sk_unpinning">Unpinning poszt…</string>
|
||||
<string name="sk_settings_show_replies">Válaszok megjelenítése</string>
|
||||
<string name="sk_visibility_unlisted">Felsorolatlan</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_settings_load_new_posts">Automatikusan töltse be az új hozzászólásokat</string>
|
||||
<string name="sk_settings_app_version">Moshidon v%1$s (%2$d)</string>
|
||||
<string name="sk_user_post_notifications_on">Bekapcsoltuk a postai értesítéseket %s számára</string>
|
||||
<string name="sk_user_post_notifications_off">Kikapcsoltam a postai értesítéseket %s számára</string>
|
||||
<string name="sk_mark_media_as_sensitive">A média érzékenynek jelölése</string>
|
||||
<string name="sk_federated_timeline">Föderáció</string>
|
||||
<string name="sk_update_ready">A Moshidon %s letöltődött és telepítésre kész.</string>
|
||||
<string name="sk_disable_marquee">A görgethető szöveg kikapcsolása a címsorokban</string>
|
||||
<string name="sk_check_for_update">Frissítés ellenőrzése</string>
|
||||
<string name="sk_no_update_available">Nincs frissítés elérhető</string>
|
||||
<string name="sk_list_timelines">Listák</string>
|
||||
<string name="sk_follow_requests">Kérések követése</string>
|
||||
<string name="sk_accept_follow_request">Követési kérés elfogadása</string>
|
||||
<string name="sk_lists_with_user">%s-t tartalmazó listák</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Mindig fedje fel a tartalmi figyelmeztetéseket</string>
|
||||
<string name="sk_settings_contribute">Hozzájárulni Moshidon</string>
|
||||
<string name="sk_settings_show_federated_timeline">Összevont idővonal megjelenítése</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Biztos, hogy törölni szeretné a nemrég használt nyelveket\?</string>
|
||||
<string name="sk_available_languages">Elérhető nyelvek</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_settings_translate_only_opened">Csak a megnyitott hozzászólások lefordítása</string>
|
||||
<string name="sk_already_reblogged">Már reblogoltam</string>
|
||||
<string name="sk_reblogged_as">Átlogolva mint %s</string>
|
||||
<string name="sk_reblog_as">Reblog más fiókkal</string>
|
||||
<string name="sk_already_favorited">Már kedvelt</string>
|
||||
<string name="sk_favorited_as">Kedvelt mint %s</string>
|
||||
<string name="sk_favorite_as">Kedvenc más fiókkal</string>
|
||||
<string name="sk_already_bookmarked">Már könyvjelzővel van ellátva</string>
|
||||
<string name="sk_bookmarked_as">Könyvjelzőként %s</string>
|
||||
<string name="sk_bookmark_as">Könyvjelző más fiókkal</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Egységes ikon minden értesítéshez</string>
|
||||
<string name="sk_reply_as">Válasz más fiókkal</string>
|
||||
<string name="sk_translate_show_original">Eredeti megjelenítése</string>
|
||||
<string name="sk_translated_using">Fordítás %s használatával</string>
|
||||
<string name="sk_settings_profile">Profil beállítása</string>
|
||||
<string name="sk_settings_posting">Postázási preferenciák</string>
|
||||
<string name="sk_settings_filters">Szűrők konfigurálása</string>
|
||||
<string name="sk_settings_auth">Biztonsági beállítások</string>
|
||||
<string name="sk_settings_rules">Szabályok</string>
|
||||
<string name="sk_settings_donate">Adományozni</string>
|
||||
<string name="sk_settings_color_palette">Színek palettája</string>
|
||||
<string name="sk_color_palette_material3">Rendszer</string>
|
||||
<string name="sk_color_palette_green">Zöld</string>
|
||||
<string name="sk_color_palette_blue">Kék</string>
|
||||
<string name="sk_color_palette_brown">Barna</string>
|
||||
<string name="sk_color_palette_red">Piros</string>
|
||||
<string name="sk_color_palette_yellow">Sárga</string>
|
||||
<string name="sk_color_palette_pink">Rózsaszín</string>
|
||||
<string name="sk_color_palette_purple">Lila</string>
|
||||
<string name="sk_delete_notification_confirm">Biztos, hogy törölni szeretné ezt az értesítést\?</string>
|
||||
<string name="sk_enable_delete_notifications">Értesítések törlésének engedélyezése</string>
|
||||
<string name="sk_settings_publish_button_text">Közzététel gomb szövege</string>
|
||||
<string name="sk_settings_publish_button_text_title">Közzététel gomb szövegének testreszabása</string>
|
||||
<string name="sk_delete_notification">Értesítés törlése</string>
|
||||
<string name="sk_delete_notification_confirm_action">Értesítés törlése</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s támogatja a fordítást!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">Úgy tűnik, hogy a %s nem támogatja a fordítást.</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Biztos, hogy törölni szeretné az összes értesítést\?</string>
|
||||
<string name="sk_clear_all_notifications">Minden értesítés törlése</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Törölje az összes</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Utánanézek a Fediverse-en</string>
|
||||
<string name="sk_reblog_with_visibility">Reblog láthatósággal</string>
|
||||
<string name="sk_quote_post">Poszt erről</string>
|
||||
<string name="sk_undo_reblog">Reblog visszavonása</string>
|
||||
<string name="sk_copy_link_to_post">Link másolása a bejegyzéshez</string>
|
||||
<string name="sk_hashtags_you_follow">Követett hashtagek</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Utánanézek a %s oldalon</string>
|
||||
<string name="sk_resource_not_found">Az erőforrás nem található</string>
|
||||
<string name="sk_open_with_account">Más számlával együtt nyitva</string>
|
||||
<string name="sk_scheduled_too_soon">A bejegyzést legalább 10 perccel későbbre kell időzíteni.</string>
|
||||
<string name="sk_confirm_delete_draft">Biztos vagy benne, hogy törölni akarod ezt a vázlatos hozzászólást\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Biztos, hogy törölni akarod ezt a tervezett hozzászólást\?</string>
|
||||
<string name="sk_compose_draft">A hozzászólás tervezetként lesz elmentve.</string>
|
||||
<string name="sk_scheduled_too_soon_title">A tervezett időpont túl korai</string>
|
||||
<string name="sk_post_scheduled">Tervezett poszt</string>
|
||||
<string name="sk_draft_saved">Tervezet mentve</string>
|
||||
<string name="sk_compose_scheduled">Beütemezve a</string>
|
||||
<string name="sk_draft_or_schedule">Tervezet vagy ütemterv</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Időzített bejegyzés törlése</string>
|
||||
<string name="sk_confirm_delete_draft_title">Tervezet törlése</string>
|
||||
<string name="sk_schedule">Ütemterv</string>
|
||||
<string name="sk_draft">Tervezet</string>
|
||||
<string name="sk_forward_report_to">Továbbítás %s-re</string>
|
||||
<string name="sk_unsent_posts">Nem elküldött hozzászólások</string>
|
||||
<string name="sk_schedule_post">Ütemterv posta</string>
|
||||
<string name="sk_mark_as_draft">Vázlatként megjelölni</string>
|
||||
<string name="sk_confirm_save_changes">Változások mentése\?</string>
|
||||
<string name="sk_confirm_save_draft">Tervezet mentése\?</string>
|
||||
<string name="sk_compose_no_draft">Ne draftoljon</string>
|
||||
<string name="sk_compose_no_schedule">Ne ütemezzen</string>
|
||||
<string name="sk_schedule_or_draft">Ütemterv vagy tervezet</string>
|
||||
<string name="sk_settings_reduce_motion">Mozgás csökkentése animációkban</string>
|
||||
<string name="sk_welcome_text">A cápa tiszteleg előtted! A kezdéshez kérjük, adja meg az alábbiakban az otthoni domain nevét.</string>
|
||||
<string name="sk_federated_timeline_info_banner">Ezek a szövetséged tagjainak legfrissebb bejegyzései.</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Biztos, hogy törölni és újrafogalmazni akarod ezt a hozzászólást\?</string>
|
||||
<string name="sk_update_available">Moshidon %s készen áll a letöltésre.</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Törlés és újraszövegezés Hozzászólás</string>
|
||||
<string name="sk_image_description">Kép leírása</string>
|
||||
<string name="sk_settings_show_boosts">Show boostok</string>
|
||||
<string name="sk_settings_show_interaction_counts">Interakciószámok megjelenítése</string>
|
||||
<string name="sk_reject_follow_request">Követési kérelem elutasítása</string>
|
||||
<string name="sk_poll_allow_multiple">Több választási lehetőség engedélyezése</string>
|
||||
<string name="sk_tabs_disable_swipe">Lapok közötti lapozás letiltása</string>
|
||||
<string name="sk_settings_about">Az alkalmazásról</string>
|
||||
</resources>
|
||||
@@ -34,31 +34,31 @@
|
||||
<string name="sk_visibility_unlisted">Tidak terdaftar</string>
|
||||
<string name="sk_mark_media_as_sensitive">Tandai media sebagai sensitif</string>
|
||||
<string name="sk_follow_requests">Permintaan pengikut</string>
|
||||
<string name="sk_lists_with_user">Daftar dengan %s</string>
|
||||
<string name="sk_lists_with_user">Sunting daftar dengan %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Selalu ungkap peringatan konten</string>
|
||||
<string name="sk_disable_marquee">Nonaktifkan teks bergulir dalam bilah judul</string>
|
||||
<string name="sk_settings_show_federated_timeline">Tampilkan lini masa federasi</string>
|
||||
<string name="sk_notification_type_status">Kiriman</string>
|
||||
<string name="sk_notify_posts">Notifikasi kiriman</string>
|
||||
<string name="sk_settings_color_picker">Warna tema</string>
|
||||
<string name="sk_color_theme_pink">Merah Muda</string>
|
||||
<string name="sk_color_theme_purple">Ungu</string>
|
||||
<string name="sk_color_theme_green">Hijau</string>
|
||||
<string name="sk_color_theme_blue">Biru</string>
|
||||
<string name="sk_color_theme_brown">Cokelat</string>
|
||||
<string name="sk_color_theme_yellow">Kuning</string>
|
||||
<string name="sk_settings_color_palette">Warna tema</string>
|
||||
<string name="sk_color_palette_pink">Merah Muda</string>
|
||||
<string name="sk_color_palette_purple">Ungu</string>
|
||||
<string name="sk_color_palette_green">Hijau</string>
|
||||
<string name="sk_color_palette_blue">Biru</string>
|
||||
<string name="sk_color_palette_brown">Cokelat</string>
|
||||
<string name="sk_color_palette_yellow">Kuning</string>
|
||||
<string name="sk_poll_allow_multiple">Perbolehkan beberapa pilihan</string>
|
||||
<string name="sk_clear_recent_languages">Hapus bahasa terkini yang digunakan</string>
|
||||
<string name="sk_welcome_title">Selamat datang!</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Apakah Anda yakin ingin menghapus bahasa terkini yang Anda gunakan\?</string>
|
||||
<string name="sk_color_theme_material3">Sistem</string>
|
||||
<string name="sk_color_palette_material3">Sistem</string>
|
||||
<string name="sk_available_languages">Bahasa yang tersedia</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_translate_post">Terjemahkan</string>
|
||||
<string name="sk_translate_show_original">Tampilkan yang asli</string>
|
||||
<string name="sk_post_language">Bahasa: %s</string>
|
||||
<string name="sk_example_domain">contoh.social</string>
|
||||
<string name="sk_color_theme_red">Merah</string>
|
||||
<string name="sk_color_palette_red">Merah</string>
|
||||
<string name="sk_translated_using">Diterjemahkan menggunakan %s</string>
|
||||
<string name="sk_welcome_text">Hiu menyapamu! Untuk memulai, silakan memasukkan nama domain instansi Anda di bawah.</string>
|
||||
<string name="sk_tabs_disable_swipe">Nonaktifkan mengusap antara tab</string>
|
||||
@@ -67,7 +67,7 @@
|
||||
<string name="sk_enable_delete_notifications">Aktifkan menghapus notifikasi</string>
|
||||
<string name="sk_settings_publish_button_text">Teks tombol Terbitkan</string>
|
||||
<string name="sk_settings_publish_button_text_title">Ubah teks tombol Terbitkan</string>
|
||||
<string name="sk_settings_hide_translate_in_timeline">Sembunyikan tombol terjemahkan di lini masa</string>
|
||||
<string name="sk_settings_translate_only_opened">Sembunyikan tombol terjemahkan di lini masa</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s mendukung penerjemahan!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s sepertinya tidak mendukung penerjemahan.</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Apakah Anda yakin ingin menghapus semua notifikasi\?</string>
|
||||
@@ -95,12 +95,12 @@
|
||||
<string name="sk_already_bookmarked">Sudah dimarkahi</string>
|
||||
<string name="sk_favorited_as">Difavorit sebagai %s</string>
|
||||
<string name="sk_already_favorited">Sudah difavorit</string>
|
||||
<string name="sk_reblog_as">Bagikan dari akun lain</string>
|
||||
<string name="sk_reblog_as">Bagikan dengan akun lain</string>
|
||||
<string name="sk_reblogged_as">Dibagikan sebagai %s</string>
|
||||
<string name="sk_already_reblogged">Sudah dibagikan</string>
|
||||
<string name="sk_reply_as">Balas dengan akun lain</string>
|
||||
<string name="sk_bookmark_as">Markahi dalam akun lain</string>
|
||||
<string name="sk_favorite_as">Favorit dari akun lain</string>
|
||||
<string name="sk_bookmark_as">Markahi dengan akun lain</string>
|
||||
<string name="sk_favorite_as">Favorit dengan akun lain</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Ikon yang sama untuk semua notifikasi</string>
|
||||
<string name="sk_unsent_posts">Kiriman yang belum dikirim</string>
|
||||
<string name="sk_draft">Draf</string>
|
||||
@@ -123,4 +123,27 @@
|
||||
<string name="sk_mark_as_draft">Tandai sebagai draf</string>
|
||||
<string name="sk_schedule_post">Jadwalkan kiriman</string>
|
||||
<string name="sk_confirm_save_draft">Simpan draf\?</string>
|
||||
<string name="sk_compose_no_schedule">Jangan dijadwalkan</string>
|
||||
<string name="sk_compose_no_draft">Jangan didraf</string>
|
||||
<string name="sk_schedule_or_draft">Jadwalkan atau draf</string>
|
||||
<string name="sk_settings_reduce_motion">Kurangi gerakan dalam animasi</string>
|
||||
<string name="sk_list_replies_policy">Tampilkan balasan ke</string>
|
||||
<string name="sk_announcements">Pengumuman</string>
|
||||
<string name="sk_mark_as_read">Tandai sebagai dibaca</string>
|
||||
<string name="sk_settings_about_instance">Tentang server</string>
|
||||
<string name="sk_settings_single_notification">Hanya tampilkan satu notifikasi</string>
|
||||
<string name="sk_create">Buat</string>
|
||||
<string name="sk_create_list_title">Buat daftar</string>
|
||||
<string name="sk_list_name_hint">Nama daftar</string>
|
||||
<string name="sk_list_replies_policy_list">anggota daftar</string>
|
||||
<string name="sk_list_replies_policy_followed">pengguna mengikuti</string>
|
||||
<string name="sk_list_replies_policy_none">tidak ada siapa pun</string>
|
||||
<string name="sk_delete_list">Hapus daftar</string>
|
||||
<string name="sk_delete_list_confirm">Apakah Anda yakin ingin menghapus daftar “%s”\?</string>
|
||||
<string name="sk_edit_list_title">Sunting daftar</string>
|
||||
<string name="sk_your_lists">Daftar Anda</string>
|
||||
<string name="sk_timeline_federated">Federasi</string>
|
||||
<string name="sk_timeline_home">Beranda</string>
|
||||
<string name="sk_timeline_local">Lokal</string>
|
||||
<string name="sk_recent_searches_placeholder">Ketik sesuatu untuk memulai mencari</string>
|
||||
</resources>
|
||||
@@ -42,7 +42,7 @@
|
||||
<string name="sk_no_update_available">Non ci sono aggiornamenti disponibili</string>
|
||||
<string name="sk_list_timelines">Liste</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Apri sempre contenuti segnalati come sensibili</string>
|
||||
<string name="sk_lists_with_user">Liste con %s</string>
|
||||
<string name="sk_lists_with_user">Modifica liste con %s</string>
|
||||
<string name="sk_settings_contribute">Contribuisci a Moshidon</string>
|
||||
<string name="sk_settings_show_federated_timeline">Mostra timeline federata</string>
|
||||
<string name="sk_disable_marquee">Disabilita scorrimento titoli</string>
|
||||
@@ -60,4 +60,86 @@
|
||||
<string name="sk_available_languages">Lingue disponibili</string>
|
||||
<string name="sk_welcome_text">Lo squalo ti saluta! Per iniziare inserisci il dominio dell\'istanza a cui sei iscritto.</string>
|
||||
<string name="sk_color_palette_material3">Sistema</string>
|
||||
<string name="sk_timeline_local">Locale</string>
|
||||
<string name="sk_timeline_federated">Federazione</string>
|
||||
<string name="sk_bookmark_as">Salva con un altro account</string>
|
||||
<string name="sk_bookmarked_as">Salvato come %s</string>
|
||||
<string name="sk_favorite_as">Inserisci tra i preferiti con un altro account</string>
|
||||
<string name="sk_favorited_as">Inserito tra i preferiti come %s</string>
|
||||
<string name="sk_already_favorited">Già tra i preferiti</string>
|
||||
<string name="sk_reblog_as">Esegui il reblog con un altro account</string>
|
||||
<string name="sk_already_reblogged">Reblog già eseguito</string>
|
||||
<string name="sk_settings_profile">Imposta il profilo</string>
|
||||
<string name="sk_settings_posting">Preferenze dei post</string>
|
||||
<string name="sk_settings_filters">Configura filtri</string>
|
||||
<string name="sk_settings_rules">Regole</string>
|
||||
<string name="sk_settings_about">Riguardo all\'app</string>
|
||||
<string name="sk_settings_donate">Dona</string>
|
||||
<string name="sk_delete_notification_confirm_action">Elimina notifica</string>
|
||||
<string name="sk_enable_delete_notifications">Abilita l\'eliminazione delle notifiche</string>
|
||||
<string name="sk_settings_publish_button_text">Testo del pulsante Pubblica</string>
|
||||
<string name="sk_settings_publish_button_text_title">Personalizza il testo del pulsante Pubblica</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s supporta la traduzione!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">Sembra che %s non supporti la traduzione.</string>
|
||||
<string name="sk_clear_all_notifications">Elimina tutte le notifiche</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Elimina tutto</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Sei sicuro di volere eliminare tutte le notifiche\?</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Cercando nel Fediverso</string>
|
||||
<string name="sk_quote_post">Crea un post riguardo a questo</string>
|
||||
<string name="sk_undo_reblog">Annulla il reblog</string>
|
||||
<string name="sk_reblog_with_visibility">Esegui il reblog con visibilità</string>
|
||||
<string name="sk_copy_link_to_post">Copia il link del post</string>
|
||||
<string name="sk_open_with_account">Apri con un altro account</string>
|
||||
<string name="sk_resource_not_found">La risorsa non può essere trovata</string>
|
||||
<string name="sk_draft">Bozza</string>
|
||||
<string name="sk_schedule">Programma</string>
|
||||
<string name="sk_confirm_delete_draft_title">Elimina bozza</string>
|
||||
<string name="sk_draft_or_schedule">Bozza o programma</string>
|
||||
<string name="sk_compose_scheduled">Programmato per</string>
|
||||
<string name="sk_draft_saved">Bozza salvata</string>
|
||||
<string name="sk_forward_report_to">Inoltra a %s</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Elimina post programmato</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Sei sicuro di volere eliminare questo post programmato\?</string>
|
||||
<string name="sk_compose_draft">Il post verrà salvato come bozza.</string>
|
||||
<string name="sk_post_scheduled">Post programmato</string>
|
||||
<string name="sk_scheduled_too_soon_title">L\'orario programmato è troppo presto</string>
|
||||
<string name="sk_mark_as_draft">Segna come bozza</string>
|
||||
<string name="sk_schedule_post">Programma post</string>
|
||||
<string name="sk_compose_no_schedule">Non programmare</string>
|
||||
<string name="sk_compose_no_draft">Non tenere in bozza</string>
|
||||
<string name="sk_announcements">Annunci</string>
|
||||
<string name="sk_mark_as_read">Segna come letto</string>
|
||||
<string name="sk_settings_single_notification">Mostra solo una notifica</string>
|
||||
<string name="sk_create">Crea</string>
|
||||
<string name="sk_create_list_title">Crea lista</string>
|
||||
<string name="sk_list_name_hint">Nome della lista</string>
|
||||
<string name="sk_list_replies_policy">Mostra risposte a</string>
|
||||
<string name="sk_list_replies_policy_list">membri della lista</string>
|
||||
<string name="sk_list_replies_policy_followed">utenti seguiti</string>
|
||||
<string name="sk_list_replies_policy_none">nessuno</string>
|
||||
<string name="sk_delete_list">Elimina lista</string>
|
||||
<string name="sk_edit_list_title">Modifica lista</string>
|
||||
<string name="sk_your_lists">Le tue liste</string>
|
||||
<string name="sk_reply_as">Rispondi con un altro account</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Icona uniforme per tutte le notifiche</string>
|
||||
<string name="sk_color_palette_red">Rosso</string>
|
||||
<string name="sk_tabs_disable_swipe">Disabilita lo scorrimento tra schede</string>
|
||||
<string name="sk_settings_auth">Impostazioni della sicurezza</string>
|
||||
<string name="sk_delete_notification">Elimina notifica</string>
|
||||
<string name="sk_delete_notification_confirm">Sei sicuro di volere eliminare questa notifica\?</string>
|
||||
<string name="sk_settings_translate_only_opened">Traduci solamente i post aperti</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Cercando in %s</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtags che segui</string>
|
||||
<string name="sk_already_bookmarked">Già salvato</string>
|
||||
<string name="sk_reblogged_as">Reblog eseguito come %s</string>
|
||||
<string name="sk_unsent_posts">Post annullati</string>
|
||||
<string name="sk_confirm_save_draft">Salva bozza\?</string>
|
||||
<string name="sk_confirm_save_changes">Salva le modifiche\?</string>
|
||||
<string name="sk_schedule_or_draft">Programma o bozza</string>
|
||||
<string name="sk_settings_reduce_motion">Riduci il movimento delle animazioni</string>
|
||||
<string name="sk_settings_about_instance">Riguardo all\'istanza</string>
|
||||
<string name="sk_delete_list_confirm">Sei sicuro di volere eliminare la lista \"%s\"\?</string>
|
||||
<string name="sk_timeline_home">Home</string>
|
||||
<string name="sk_confirm_delete_draft">Sei sicuro di volere eliminare questo post in bozza\?</string>
|
||||
<string name="sk_scheduled_too_soon">I post devono essere programmati almeno tra 10 minuti.</string>
|
||||
</resources>
|
||||
@@ -29,7 +29,7 @@
|
||||
<string name="sk_follow_requests">팔로우 요청</string>
|
||||
<string name="sk_accept_follow_request">팔로우 요청 허가</string>
|
||||
<string name="sk_reject_follow_request">팔로우 요청 거부</string>
|
||||
<string name="sk_lists_with_user">%s 님이 포함된 리스트</string>
|
||||
<string name="sk_lists_with_user">%s 님이 포함된 리스트 수정</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">열람주의 게시물을 항상 펼치기</string>
|
||||
<string name="sk_disable_marquee">제목 표시줄의 텍스트 스크롤 비활성화</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
@@ -73,7 +73,7 @@
|
||||
<string name="sk_enable_delete_notifications">알림 삭제 활성화</string>
|
||||
<string name="sk_settings_publish_button_text">게시 버튼 텍스트</string>
|
||||
<string name="sk_settings_publish_button_text_title">게시 버튼 사용자화</string>
|
||||
<string name="sk_settings_hide_translate_in_timeline">타임라인에서 번역 버튼 숨김</string>
|
||||
<string name="sk_settings_translate_only_opened">타임라인에서 번역 버튼 숨김</string>
|
||||
<string name="sk_delete_notification">알림 삭제</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s 서버는 번역을 지원합니다!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s 서버는 번역을 지원하지 않는 것 같습니다.</string>
|
||||
@@ -101,4 +101,45 @@
|
||||
<string name="sk_resource_not_found">리소스를 찾을 수 없습니다</string>
|
||||
<string name="sk_loading_resource_on_instance_title">%s에서 찾아보는 중</string>
|
||||
<string name="sk_quote_post">언급하여 게시</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_confirm_delete_draft">정말로 이 초안을 삭제하시겠습니까\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">예약한 게시물 삭제</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">정말로 이 예약한 게시물을 삭제하시겠습니까\?</string>
|
||||
<string name="sk_compose_draft">게시물이 초안으로 저장됩니다.</string>
|
||||
<string name="sk_compose_scheduled">예약한 시각</string>
|
||||
<string name="sk_post_scheduled">게시 예약함</string>
|
||||
<string name="sk_scheduled_too_soon">게시 예약은 최소한 10분 뒤로 설정해야 합니다.</string>
|
||||
<string name="sk_draft_or_schedule">초안 작성 또는 게시 예약</string>
|
||||
<string name="sk_scheduled_too_soon_title">예약한 시각이 머지않았습니다</string>
|
||||
<string name="sk_draft_saved">초안 저장함</string>
|
||||
<string name="sk_forward_report_to">%s 인스턴스로 전달</string>
|
||||
<string name="sk_schedule_post">게시 예약</string>
|
||||
<string name="sk_confirm_save_changes">변경 사항을 저장하시겠습니까\?</string>
|
||||
<string name="sk_compose_no_schedule">게시 예약 안 함</string>
|
||||
<string name="sk_compose_no_draft">초안 작성 안 함</string>
|
||||
<string name="sk_confirm_save_draft">초안으로 저장하시겠습니까\?</string>
|
||||
<string name="sk_schedule_or_draft">게시 예약 또는 초안 작성</string>
|
||||
<string name="sk_mark_as_draft">초안으로 표시</string>
|
||||
<string name="sk_settings_reduce_motion">애니메이션의 동작 감소</string>
|
||||
<string name="sk_timeline_home">홈</string>
|
||||
<string name="sk_timeline_local">로컬</string>
|
||||
<string name="sk_timeline_federated">연합</string>
|
||||
<string name="sk_list_replies_policy">답글을 표시할 대상</string>
|
||||
<string name="sk_delete_list_confirm">정말로 이 리스트를 삭제하시겠습니까\?</string>
|
||||
<string name="sk_announcements">공지사항</string>
|
||||
<string name="sk_mark_as_read">읽음으로 표시</string>
|
||||
<string name="sk_settings_about_instance">인스턴스에 대하여</string>
|
||||
<string name="sk_create_list_title">리스트 만들기</string>
|
||||
<string name="sk_list_name_hint">리스트 이름</string>
|
||||
<string name="sk_create">만들기</string>
|
||||
<string name="sk_list_replies_policy_list">리스트의 구성원들</string>
|
||||
<string name="sk_list_replies_policy_followed">팔로우한 사용자 누구나</string>
|
||||
<string name="sk_list_replies_policy_none">아무도 없음</string>
|
||||
<string name="sk_delete_list">리스트 삭제</string>
|
||||
<string name="sk_edit_list_title">리스트 편집</string>
|
||||
<string name="sk_your_lists">리스트</string>
|
||||
<string name="sk_settings_single_notification">하나의 알림만 표시</string>
|
||||
</resources>
|
||||
@@ -17,9 +17,9 @@
|
||||
<string name="sk_update_available">Moshidon %s ကို ဒေါင်းလုဒ်ဆွဲလို့ရပါပြီ။</string>
|
||||
<string name="sk_update_ready">Moshidon %s ကို ဒေါင်းလုဒ်ဆွဲပြီးပြီမလို့ အင်စတောလုပ်နိုင်ပါပြီ။</string>
|
||||
<string name="sk_no_update_available">မည်သည့်အပ်ဒိတ်မျှ မရှိသေးပါ</string>
|
||||
<string name="sk_follow_requests">ဖောလိုဝါအဖြစ် တောင်းဆိုမှုများ</string>
|
||||
<string name="sk_accept_follow_request">ဖောလိုဝါအဖြစ်တောင်းဆိုမှုကို လက်ခံမည်</string>
|
||||
<string name="sk_reject_follow_request">ဖောလိုဝါအဖြစ်တောင်းဆိုမှုကို ငြင်းပယ်မည်</string>
|
||||
<string name="sk_follow_requests">ဖော်လိုဝါအဖြစ် တောင်းဆိုမှုများ</string>
|
||||
<string name="sk_accept_follow_request">ဖော်လိုဝါအဖြစ်တောင်းဆိုမှုကို လက်ခံမည်</string>
|
||||
<string name="sk_reject_follow_request">ဖော်လိုဝါအဖြစ်တောင်းဆိုမှုကို ငြင်းပယ်မည်</string>
|
||||
<string name="sk_confirm_pin_post_title">ပို့စ်အား ပရိုဖိုင်းတွင် ပင်တွဲခြင်း</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">ပို့စ်အား ဖျက်ပြီးပြန်ရေးခြင်း</string>
|
||||
<string name="sk_confirm_delete_and_redraft">ဖျက်ပြီးပြန်ရေးမှာ သေချာပြီလား\?</string>
|
||||
@@ -31,4 +31,72 @@
|
||||
<string name="sk_federated_timeline_info_banner">သင့်ဖက်ဒရေးရှင်းကလူတွေရဲ့ လတ်တလောပို့စ်တွေ ဖြစ်ပါတယ်။</string>
|
||||
<string name="sk_check_for_update">အပ်ဒိတ်ရှိလားစစ်ဆေးမည်</string>
|
||||
<string name="sk_disable_marquee">ခေါင်းစီးဘားများတွင် စာများရွေ့လျားမှု ပိတ်မည်</string>
|
||||
<string name="sk_poll_allow_multiple">တစ်ခုထက်ပိုသောရွေးချယ်မှုများကို ခွင့်ပြုမည်</string>
|
||||
<string name="sk_clear_recent_languages">လတ်တလောသုံးထားသည့် ဘာသာစကားများကို ရှင်းလင်းမည်</string>
|
||||
<string name="sk_welcome_title">မင်္ဂလာပါ</string>
|
||||
<string name="sk_pinned_posts">ပင်တွဲထားသည်များ</string>
|
||||
<string name="sk_bookmark_as">တခြားအကောင့်ဖြင့် ဘွတ်ခ်မာ့ခ်လုပ်မည်</string>
|
||||
<string name="sk_favorite_as">တခြားအကောင့်ဖြင့် favorite လုပ်မည်</string>
|
||||
<string name="sk_favorited_as">%s ဖြင့် favorite လုပ်လိုက်သည်</string>
|
||||
<string name="sk_bookmarked_as">%s ဖြင့် ဘွတ်ခ်မာ့ခ်လုပ်လိုက်သည်</string>
|
||||
<string name="sk_already_favorited">Favorite လုပ်ပြီးသားဖြစ်သည်</string>
|
||||
<string name="sk_reblogged_as">%s ဖြင့် reblog လုပ်လိုက်သည်</string>
|
||||
<string name="sk_already_reblogged">Reblog လုပ်ပြီးသားဖြစ်သည်</string>
|
||||
<string name="sk_reply_as">တခြားအကောင့်ဖြင့် ရီပလိုင်းပြန်မည်</string>
|
||||
<string name="sk_translated_using">%s ဖြင့် ဘာသာပြန်ထားသည်</string>
|
||||
<string name="sk_post_language">ဘာသာစကား။ ။%s</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_settings_filters">Filter များကို စီစဉ်မည်</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_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_yellow">အဝါရောင်</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s က ဘာသာပြန်တာကို အထောက်အပံ့ပေးထားပါတယ်။</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s က ဘာသာပြန်တာကို အထောက်အပံ့ပေးထားပုံမရပါဘူး။</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">အားလုံးဖျက်</string>
|
||||
<string name="sk_clear_all_notifications">နိုတီအားလုံးကို ရှင်းလင်းမည်</string>
|
||||
<string name="sk_clear_all_notifications_confirm">နိုတီအားလုံးကို ရှင်းလင်းမှာ သေချာပြီလား\?</string>
|
||||
<string name="sk_undo_reblog">Reblog မလုပ်တော့ပါ</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_resource_not_found">ရင်းမြစ်ရှာမတွေ့ပါ</string>
|
||||
<string name="sk_draft">အကြမ်း</string>
|
||||
<string name="sk_schedule">စီစဉ်မည်</string>
|
||||
<string name="sk_confirm_delete_draft_title">အကြမ်းကို ဖျက်မည်</string>
|
||||
<string name="sk_unsent_posts">မတင်ဖြစ်ခဲ့သော ပို့စ်များ</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">စီစဉ်ထားသောပို့စ်ကို ဖျက်မည်</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">စီစဉ်ထားတဲ့ ဒီပို့စ်ကိုဖျက်မှာ သေချာပြီလား\?</string>
|
||||
<string name="sk_confirm_delete_draft">ဒီပို့စ်အကြမ်းကို ဖျက်မှာသေချာပြီလား\?</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_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_settings_reduce_motion">အန်နီမေးရှင်းများတွင် ရွေ့လျားမှုလျှော့မည်</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">အကြောင်းအရာသတိပေးချက်များကို အမြဲတမ်းဖော်ပြမည်</string>
|
||||
<string name="sk_color_palette_pink">ပန်းရောင်</string>
|
||||
<string name="sk_color_palette_red">အနီရောင်</string>
|
||||
<string name="sk_translate_post">ဘာသာပြန်မည်</string>
|
||||
<string name="sk_example_domain">example.social</string>
|
||||
<string name="sk_settings_profile">ပရိုဖိုင်းကို ပြင်မည်</string>
|
||||
<string name="sk_already_bookmarked">ဘွတ်ခ်မာ့ခ်လုပ်ပြီးသားဖြစ်သည်</string>
|
||||
<string name="sk_reblog_as">တခြားအကောင့်ဖြင့် reblog လုပ်မည်</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">နိုတီအားလုံးကို အိုင်ကွန်တူတူထားမည်</string>
|
||||
<string name="sk_notification_type_status">ပို့စ်များ</string>
|
||||
<string name="sk_translate_show_original">မူရင်းပို့စ်ကို ပြသမည်</string>
|
||||
<string name="sk_settings_translate_only_opened">ဖွင့်ထားသည့်ပို့စ်များကိုသာ ဘာသာပြန်မည်</string>
|
||||
<string name="sk_confirm_clear_recent_languages">အခုနောက်ပိုင်းသုံးထားတဲ့ ဘာသာစကားတွေကို ရှင်းလင်းမှာ သေချာပြီလား</string>
|
||||
<string name="sk_welcome_text">ငါးမန်းလေးက သင့်ကိုအလေးပြုကြိုဆိုပါတယ်။ စတင်ဖို့အတွက် Home instance ရဲ့ဒိုမိန်းနာမည်ကိုအောက်တွင် ရိုက်ထည့်ပါ။</string>
|
||||
<string name="sk_scheduled_too_soon_title">စီစဉ်ထားသည့်အချိန်မှာ စောလွန်းနေသည်</string>
|
||||
<string name="sk_scheduled_too_soon">စီစဉ်ထားသည့်ပို့စ်သည် လက်ရှိအချိန်နှင့် အနည်းဆုံး ၁၀ မိနစ်ကွာရမည်။</string>
|
||||
</resources>
|
||||
@@ -14,7 +14,7 @@
|
||||
<string name="sk_confirm_unpin_post">Weet je zeker dat je dit bericht wilt losmaken\?</string>
|
||||
<string name="sk_unpinning">Bericht losmaken…</string>
|
||||
<string name="sk_follow_requests">Volgverzoeken</string>
|
||||
<string name="sk_visibility_unlisted">Geheim</string>
|
||||
<string name="sk_visibility_unlisted">Minder openbaar</string>
|
||||
<string name="sk_image_description">Afbeelding beschrijving</string>
|
||||
<string name="sk_settings_show_replies">Reacties weergeven</string>
|
||||
<string name="sk_settings_show_boosts">Boosts weergeven</string>
|
||||
@@ -33,9 +33,104 @@
|
||||
<string name="sk_list_timelines">Lijsten</string>
|
||||
<string name="sk_reject_follow_request">Volgverzoek afwijzen</string>
|
||||
<string name="sk_accept_follow_request">Volgverzoek accepteren</string>
|
||||
<string name="sk_lists_with_user">Lijsten met %s</string>
|
||||
<string name="sk_lists_with_user">Bewerk lijsten met %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Onthul altijd inhoudswaarschuwingen</string>
|
||||
<string name="sk_disable_marquee">Schakel scrollende tekst in titelbalken uit</string>
|
||||
<string name="sk_settings_contribute">Bijdragen aan Moshidon</string>
|
||||
<string name="sk_settings_show_federated_timeline">Toon gefedereerde tijdlijn</string>
|
||||
<string name="sk_notification_type_status">Berichten</string>
|
||||
<string name="sk_notify_posts">Bericht meldingen</string>
|
||||
<string name="sk_timeline_local">Lokaal</string>
|
||||
<string name="sk_timeline_home">Home</string>
|
||||
<string name="sk_timeline_federated">Federatie</string>
|
||||
<string name="sk_translate_post">Vertaal</string>
|
||||
<string name="sk_poll_allow_multiple">Meerdere keuzes toestaan</string>
|
||||
<string name="sk_clear_recent_languages">Wis recent gebruikte talen</string>
|
||||
<string name="sk_welcome_text">De haai groet je! Graag je home instance naam hieronder invullen om te beginnen.</string>
|
||||
<string name="sk_welcome_title">Welkom!</string>
|
||||
<string name="sk_translated_using">Vertaald met %s</string>
|
||||
<string name="sk_post_language">Taal: %s</string>
|
||||
<string name="sk_bookmarked_as">Als bookmark opgeslagen als %s</string>
|
||||
<string name="sk_already_bookmarked">Al als bookmark opgeslagen</string>
|
||||
<string name="sk_favorited_as">Als favoriet opgeslagen als %s</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_example_domain">example.social</string>
|
||||
<string name="sk_reply_as">Antwoord met ander account</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Zelfde icoon voor alle meldingen</string>
|
||||
<string name="sk_tabs_disable_swipe">Uitschakelen swipen tussen tabs</string>
|
||||
<string name="sk_settings_profile">Profiel instellen</string>
|
||||
<string name="sk_settings_posting">Voorkeuren plaatsen bericht</string>
|
||||
<string name="sk_settings_filters">Filters instellen</string>
|
||||
<string name="sk_settings_auth">Instellingen beveiliging</string>
|
||||
<string name="sk_settings_rules">Regels</string>
|
||||
<string name="sk_settings_about">Over de app</string>
|
||||
<string name="sk_settings_donate">Doneer</string>
|
||||
<string name="sk_settings_color_palette">Kleurpalet</string>
|
||||
<string name="sk_color_palette_material3">Systeem</string>
|
||||
<string name="sk_color_palette_pink">Roze</string>
|
||||
<string name="sk_color_palette_purple">Paars</string>
|
||||
<string name="sk_color_palette_green">Groen</string>
|
||||
<string name="sk_color_palette_blue">Blauw</string>
|
||||
<string name="sk_color_palette_brown">Bruin</string>
|
||||
<string name="sk_color_palette_red">Rood</string>
|
||||
<string name="sk_color_palette_yellow">Geel</string>
|
||||
<string name="sk_delete_notification_confirm_action">Verwijder melding</string>
|
||||
<string name="sk_delete_notification_confirm">Weet je zeker dat je de melding wilt verwijderen\?</string>
|
||||
<string name="sk_enable_delete_notifications">Meldingen verwijderen inschakelen</string>
|
||||
<string name="sk_settings_publish_button_text">Publiceer knop tekst</string>
|
||||
<string name="sk_settings_publish_button_text_title">Tekst publiceer knop aanpassen</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s ondersteunt vertaling!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s lijkt vertaling niet te ondersteunen.</string>
|
||||
<string name="sk_clear_all_notifications">Wis alle meldingen</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Verwijder alles</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Weet je zeker dat je alle meldingen wilt verwijderen\?</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Opzoeken in de Fediverse</string>
|
||||
<string name="sk_copy_link_to_post">Kopieer link naar bericht</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Opzoeken op %s</string>
|
||||
<string name="sk_open_with_account">Open met ander account</string>
|
||||
<string name="sk_unsent_posts">Niet-verzonden berichten</string>
|
||||
<string name="sk_draft">Concept</string>
|
||||
<string name="sk_schedule">Inplannen</string>
|
||||
<string name="sk_confirm_delete_draft">Weet je zeker dat je dit concept bericht wilt verwijderen\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Verwijder ingepland bericht</string>
|
||||
<string name="sk_draft_or_schedule">Concept of ingepland</string>
|
||||
<string name="sk_compose_draft">Bericht wordt als concept bewaard.</string>
|
||||
<string name="sk_compose_scheduled">Ingepland om</string>
|
||||
<string name="sk_draft_saved">Concept opgeslagen</string>
|
||||
<string name="sk_post_scheduled">Bericht ingepland</string>
|
||||
<string name="sk_scheduled_too_soon_title">Ingeplande tijd is te snel</string>
|
||||
<string name="sk_scheduled_too_soon">Bericht moet minstens 10 minuten in de toekomst ingepland zijn.</string>
|
||||
<string name="sk_confirm_save_changes">Wijzigingen opslaan\?</string>
|
||||
<string name="sk_mark_as_draft">Markeer als concept</string>
|
||||
<string name="sk_schedule_post">Bericht inplannen</string>
|
||||
<string name="sk_settings_reduce_motion">Beweging in animaties verminderen</string>
|
||||
<string name="sk_announcements">Aankondigingen</string>
|
||||
<string name="sk_mark_as_read">Markeer als gelezen</string>
|
||||
<string name="sk_settings_about_instance">Over instance</string>
|
||||
<string name="sk_settings_single_notification">Toon alleen één melding</string>
|
||||
<string name="sk_create">Maken</string>
|
||||
<string name="sk_create_list_title">Maak lijst</string>
|
||||
<string name="sk_list_name_hint">Lijstnaam</string>
|
||||
<string name="sk_list_replies_policy">Toon antwoorden aan</string>
|
||||
<string name="sk_list_replies_policy_none">niemand</string>
|
||||
<string name="sk_list_replies_policy_followed">gevolgde users</string>
|
||||
<string name="sk_delete_list">Verwijder lijst</string>
|
||||
<string name="sk_delete_list_confirm">Weet je zeker dat je deze lijst wilt verwijderen: “%s”\?</string>
|
||||
<string name="sk_edit_list_title">Bewerk lijst</string>
|
||||
<string name="sk_your_lists">Jouw lijsten</string>
|
||||
<string name="sk_translate_show_original">Toon origineel</string>
|
||||
<string name="sk_available_languages">Beschikbare talen</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Weet je zeker dat je de laatst gebruikte talen wilt wissen\?</string>
|
||||
<string name="sk_delete_notification">Verwijder melding</string>
|
||||
<string name="sk_settings_translate_only_opened">Vertaal alleen geopende berichten</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtags die je volgt</string>
|
||||
<string name="sk_resource_not_found">Bron kon niet worden gevonden</string>
|
||||
<string name="sk_bookmark_as">Bookmark met ander account</string>
|
||||
<string name="sk_favorite_as">Maak favoriet met ander account</string>
|
||||
<string name="sk_already_favorited">Al als favoriet opgeslagen</string>
|
||||
<string name="sk_forward_report_to">Doorsturen naar %s</string>
|
||||
<string name="sk_confirm_delete_draft_title">Verwijder concept</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Weet je zeker dat je dit ingeplande bericht wilt verwijderen\?</string>
|
||||
<string name="sk_confirm_save_draft">Concept opslaan\?</string>
|
||||
<string name="sk_compose_no_schedule">Niet inplannen</string>
|
||||
</resources>
|
||||
@@ -13,17 +13,17 @@
|
||||
<string name="sk_settings_load_new_posts">Automatycznie wczytuj nowe wpisy</string>
|
||||
<string name="sk_settings_show_interaction_counts">Pokaż dane ilości interakcji</string>
|
||||
<string name="sk_mark_media_as_sensitive">Oznacz jako wrażliwe</string>
|
||||
<string name="sk_user_post_notifications_on">Włączono powiadomienia dla postu %s</string>
|
||||
<string name="sk_user_post_notifications_off">Wyłączono powiadomienia dla postu %s</string>
|
||||
<string name="sk_user_post_notifications_on">Włączono powiadomienia dla wpisu %s</string>
|
||||
<string name="sk_user_post_notifications_off">Wyłączono powiadomienia dla wpisu %s</string>
|
||||
<string name="sk_federated_timeline">fediwersum</string>
|
||||
<string name="sk_federated_timeline_info_banner">To są najnowsze post ze znanej sieci fediwersum dla twojego serwera.</string>
|
||||
<string name="sk_federated_timeline_info_banner">To są najnowsze wpisy z wszystkich serwerów z którymi twoja instancja jest sfederowana.</string>
|
||||
<string name="sk_update_available">Moshidon %s jest dostępny do pobrania.</string>
|
||||
<string name="sk_update_ready">Moshidon %s został pobrany i jest gotowy do instalacji.</string>
|
||||
<string name="sk_check_for_update">Sprawdź dostępność aktualizacji</string>
|
||||
<string name="sk_no_update_available">Brak dostępnych aktualizacji</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_pinned_posts">Przypięte</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Jesteś pewnien, że chcesz usunąć zmodyfikowany wpis\?</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Jesteś pewien, że chcesz usunąć wpis i utworzyć jego kopię roboczą\?</string>
|
||||
<string name="sk_confirm_unpin_post">Jesteś pewien, że chcesz odpiąć ten wpis\?</string>
|
||||
<string name="sk_image_description">Opis zdjęcia</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Usuń i zmodyfikuj wpis</string>
|
||||
@@ -31,7 +31,7 @@
|
||||
<string name="sk_follow_requests">Prośby o obserwację</string>
|
||||
<string name="sk_accept_follow_request">Zaakceptuj prośby o obserwację</string>
|
||||
<string name="sk_reject_follow_request">Odrzuć prośby o obserwację</string>
|
||||
<string name="sk_lists_with_user">Listy z %s</string>
|
||||
<string name="sk_lists_with_user">Edytuj listy z %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Zawsze odkrywaj ostrzeżenia o zawartości</string>
|
||||
<string name="sk_disable_marquee">Wyłącz tekst przewijany w paskach tytułowych</string>
|
||||
<string name="sk_settings_contribute">Wspomóż Moshidon</string>
|
||||
@@ -59,4 +59,87 @@
|
||||
<string name="sk_example_domain">przykład.social</string>
|
||||
<string name="sk_welcome_title">Witaj!</string>
|
||||
<string name="sk_welcome_text">Rekin się kłania! Aby zacząć, wpisz adres swojej instancji poniżej.</string>
|
||||
<string name="sk_timeline_local">Lokalne</string>
|
||||
<string name="sk_timeline_federated">Federacja</string>
|
||||
<string name="sk_announcements">Ogłoszenia</string>
|
||||
<string name="sk_list_name_hint">Nazwa listy</string>
|
||||
<string name="sk_timeline_home">Główny widok</string>
|
||||
<string name="sk_bookmark_as">Zapisz zakładkę w innym koncie</string>
|
||||
<string name="sk_bookmarked_as">Zapisano zakładkę jako %s</string>
|
||||
<string name="sk_already_bookmarked">Zakładka została już zapisana</string>
|
||||
<string name="sk_favorited_as">Polubiono jako %s</string>
|
||||
<string name="sk_already_favorited">Już polubiono</string>
|
||||
<string name="sk_reblogged_as">Zrebloguj jako %s</string>
|
||||
<string name="sk_already_reblogged">Już zreblogowano</string>
|
||||
<string name="sk_reply_as">Odpowiedz innym kontem</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Identyczna ikona dla wszystkich notyfikacji</string>
|
||||
<string name="sk_settings_translate_only_opened">Tłumacz tylko otwarte wpisy</string>
|
||||
<string name="sk_tabs_disable_swipe">Wyłącz przeskakiwanie między zakładkami poprzez przesuwanie</string>
|
||||
<string name="sk_settings_profile">Skonfiguruj profil</string>
|
||||
<string name="sk_settings_posting">Preferencje publikowania</string>
|
||||
<string name="sk_settings_filters">Skonfiguruj filtry</string>
|
||||
<string name="sk_settings_auth">Ustawienia bezpieczeństwa</string>
|
||||
<string name="sk_settings_rules">Zasady</string>
|
||||
<string name="sk_settings_about">O aplikacji</string>
|
||||
<string name="sk_settings_donate">Donacje</string>
|
||||
<string name="sk_color_palette_material3">System</string>
|
||||
<string name="sk_color_palette_red">Czerwony</string>
|
||||
<string name="sk_delete_notification">Usuń powiadomienie</string>
|
||||
<string name="sk_delete_notification_confirm_action">Usuń powiadomienie</string>
|
||||
<string name="sk_delete_notification_confirm">Czy jesteś pewien że chcesz usunąć to powiadomienie\?</string>
|
||||
<string name="sk_enable_delete_notifications">Włącz usuwanie notyfikacji</string>
|
||||
<string name="sk_settings_publish_button_text">Opis przycisku publikacji</string>
|
||||
<string name="sk_settings_publish_button_text_title">Skonfiguruj opis przycisku publikacji</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s wspiera funkcję tłumaczenia!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">Wygląda na to, że %s nie wspiera funkcji tłumaczenia.</string>
|
||||
<string name="sk_clear_all_notifications">Wyczyść wszystkie powiadomienia</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Usuń wszystkie</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Czy jesteś pewien że chcesz usunąć wszystkie powiadomienia\?</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Wyszukiwanie na Fediwersum</string>
|
||||
<string name="sk_undo_reblog">Cofnij reblog</string>
|
||||
<string name="sk_reblog_with_visibility">Reblog z widocznością</string>
|
||||
<string name="sk_quote_post">Wpis o tym</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtagi które obserwujesz</string>
|
||||
<string name="sk_copy_link_to_post">Kopiuj link do wpisu</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Wyszukiwanie na %s</string>
|
||||
<string name="sk_open_with_account">Otwórz w innym koncie</string>
|
||||
<string name="sk_resource_not_found">Nie znaleziono zasobu</string>
|
||||
<string name="sk_forward_report_to">Prześlij dalej do %s</string>
|
||||
<string name="sk_draft">Wersja robocza</string>
|
||||
<string name="sk_schedule">Harmonogram</string>
|
||||
<string name="sk_confirm_delete_draft_title">Usuń wersję roboczą</string>
|
||||
<string name="sk_compose_scheduled">Zaplanowany na</string>
|
||||
<string name="sk_draft_saved">Kopia robocza zapisana</string>
|
||||
<string name="sk_scheduled_too_soon_title">Czas publikacji jest za wcześnie</string>
|
||||
<string name="sk_scheduled_too_soon">Czas publikacji musi być najwcześniej za 10 minut.</string>
|
||||
<string name="sk_post_scheduled">Wpis zaplanowany</string>
|
||||
<string name="sk_compose_draft">Wpis zostanie zapisany jako wersja robocza.</string>
|
||||
<string name="sk_draft_or_schedule">Kopia robocza lub zaplanowany wpis</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Czy chcesz usunąć ten zaplanowany wpis\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Usuń zaplanowany wpis</string>
|
||||
<string name="sk_unsent_posts">Niewysłane wpisy</string>
|
||||
<string name="sk_confirm_delete_draft">Czy jesteś pewien że chcesz usunąć tę kopię roboczą\?</string>
|
||||
<string name="sk_confirm_save_draft">Zapisać kopię roboczą\?</string>
|
||||
<string name="sk_confirm_save_changes">Zapisać zmiany\?</string>
|
||||
<string name="sk_mark_as_draft">Oznacz jako wersja robocza</string>
|
||||
<string name="sk_schedule_post">Zaplanuj wpis</string>
|
||||
<string name="sk_compose_no_schedule">Nie planuj publikacji</string>
|
||||
<string name="sk_compose_no_draft">Nie twórz wersji roboczej</string>
|
||||
<string name="sk_schedule_or_draft">Zaplanowany wpis lub kopia robocza</string>
|
||||
<string name="sk_favorite_as">Polub innym kontem</string>
|
||||
<string name="sk_reblog_as">Już zreblogowano</string>
|
||||
<string name="sk_settings_reduce_motion">Zmniejsz ruch animacji</string>
|
||||
<string name="sk_mark_as_read">Oznacz jako przeczytane</string>
|
||||
<string name="sk_settings_about_instance">O instancji</string>
|
||||
<string name="sk_create_list_title">Stwórz listę</string>
|
||||
<string name="sk_create">Stwórz</string>
|
||||
<string name="sk_list_replies_policy">Pokaż odpowiedzi do</string>
|
||||
<string name="sk_list_replies_policy_list">członkowie listy</string>
|
||||
<string name="sk_list_replies_policy_followed">obserwowani użytkownicy</string>
|
||||
<string name="sk_settings_single_notification">Pokazuj tylko jedną notyfikację</string>
|
||||
<string name="sk_list_replies_policy_none">nikt</string>
|
||||
<string name="sk_delete_list">Usuń listę</string>
|
||||
<string name="sk_delete_list_confirm">Czy jesteś pewien że chcesz usunąć tą listę\?</string>
|
||||
<string name="sk_edit_list_title">Edytuj listę</string>
|
||||
<string name="sk_your_lists">Twoje listy</string>
|
||||
</resources>
|
||||
@@ -6,7 +6,7 @@
|
||||
<string name="sk_pin_post">Fixar no perfil</string>
|
||||
<string name="sk_confirm_pin_post_title">Fixar postagem no perfil</string>
|
||||
<string name="sk_confirm_pin_post">Você deseja fixar esta postagem em seu perfil\?</string>
|
||||
<string name="sk_pinning">Fixando postagem…</string>
|
||||
<string name="sk_pinning">Fixando publicação…</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_pinned_posts">Fixado</string>
|
||||
<string name="sk_unpin_post">Desafixar do perfil</string>
|
||||
@@ -19,7 +19,7 @@
|
||||
<string name="sk_settings_load_new_posts">Carregar novas postagens automaticamente</string>
|
||||
<string name="sk_mark_media_as_sensitive">Marcar mídia como sensível</string>
|
||||
<string name="sk_settings_app_version">Moshidon v%1$s (%2$d)</string>
|
||||
<string name="sk_lists_with_user">Listas com %s</string>
|
||||
<string name="sk_lists_with_user">Editar listas com %s</string>
|
||||
<string name="sk_user_post_notifications_on">Ativar as notificações de postagem para %s</string>
|
||||
<string name="sk_federated_timeline">Federação</string>
|
||||
<string name="sk_federated_timeline_info_banner">Estas são as postagens mais recentes das pessoas em sua federação.</string>
|
||||
@@ -44,7 +44,7 @@
|
||||
<string name="sk_color_palette_brown">Marrom</string>
|
||||
<string name="sk_color_palette_yellow">Amarelo</string>
|
||||
<string name="sk_color_palette_pink">Rosa</string>
|
||||
<string name="sk_notification_type_status">Postagens</string>
|
||||
<string name="sk_notification_type_status">Publicações</string>
|
||||
<string name="sk_settings_color_palette">Cor do tema</string>
|
||||
<string name="sk_translate_post">Traduzir</string>
|
||||
<string name="sk_translate_show_original">Mostrar original</string>
|
||||
@@ -54,7 +54,7 @@
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Você tem certeza que deseja limpar os idiomas usados recentemente\?</string>
|
||||
<string name="sk_clear_recent_languages">Limpar idiomas usados recentemente</string>
|
||||
<string name="sk_notify_posts">Notificações de posts</string>
|
||||
<string name="sk_notify_posts">Notificações de publicações</string>
|
||||
<string name="sk_poll_allow_multiple">Permitir múltiplas escolhas</string>
|
||||
<string name="sk_welcome_text">O tubarão te cumprimenta! Para começar, por favor, digite abaixo o nome de domínio de sua instância de origem.</string>
|
||||
<string name="sk_example_domain">exemplo.social</string>
|
||||
@@ -63,7 +63,7 @@
|
||||
<string name="sk_color_palette_red">Vermelho</string>
|
||||
<string name="sk_settings_donate">Doar</string>
|
||||
<string name="sk_settings_rules">Regras</string>
|
||||
<string name="sk_tabs_disable_swipe">Desativar deslizamento entre as abas</string>
|
||||
<string name="sk_tabs_disable_swipe">Desativar deslizamento entre abas</string>
|
||||
<string name="sk_settings_profile">Configurar perfil</string>
|
||||
<string name="sk_settings_posting">Preferências de postagem</string>
|
||||
<string name="sk_settings_filters">Configurar filtros</string>
|
||||
@@ -71,7 +71,7 @@
|
||||
<string name="sk_delete_notification">Excluir notificação</string>
|
||||
<string name="sk_delete_notification_confirm_action">Excluir notificação</string>
|
||||
<string name="sk_enable_delete_notifications">Habilitar a exclusão de notificações</string>
|
||||
<string name="sk_settings_publish_button_text_title">Customizar o texto do botão de publicar</string>
|
||||
<string name="sk_settings_publish_button_text_title">Customizar texto do botão publicar</string>
|
||||
<string name="sk_settings_translate_only_opened">Esconder botão de tradução na linha do tempo</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s suporta tradução!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s parece não suportar tradução.</string>
|
||||
@@ -79,14 +79,64 @@
|
||||
<string name="sk_clear_all_notifications_confirm_action">Excluir tudo</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Procurando no Fediverso</string>
|
||||
<string name="sk_undo_reblog">Desfazer reblog</string>
|
||||
<string name="sk_reblog_with_visibility">Reblog com visibilidade</string>
|
||||
<string name="sk_reblog_with_visibility">Reblogar com visibilidade</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtags que você segue</string>
|
||||
<string name="sk_copy_link_to_post">Copiar link para postagem</string>
|
||||
<string name="sk_copy_link_to_post">Copiar link da postagem</string>
|
||||
<string name="sk_loading_resource_on_instance_title">Procurando em %s</string>
|
||||
<string name="sk_open_with_account">Abrir com outra conta</string>
|
||||
<string name="sk_resource_not_found">Recurso não pode ser encontrado</string>
|
||||
<string name="sk_resource_not_found">Recurso não foi encontrado</string>
|
||||
<string name="sk_settings_about">Sobre o app</string>
|
||||
<string name="sk_settings_auth">Configurações de segurança</string>
|
||||
<string name="sk_settings_publish_button_text">Texto do botão de publicar</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Você tem certeza que deseja excluir todas as notificações\?</string>
|
||||
<string name="sk_favorite_as">Favoritar com outra conta</string>
|
||||
<string name="sk_bookmark_as">Salvar com outra conta</string>
|
||||
<string name="sk_already_bookmarked">Já salvo</string>
|
||||
<string name="sk_already_favorited">Já favoritado</string>
|
||||
<string name="sk_reply_as">Responder com outra conta</string>
|
||||
<string name="sk_already_reblogged">Já reblogado</string>
|
||||
<string name="sk_reblog_as">Reblogar com outra conta</string>
|
||||
<string name="sk_schedule">Agendar</string>
|
||||
<string name="sk_draft">Rascunho</string>
|
||||
<string name="sk_unsent_posts">Postagens não enviadas</string>
|
||||
<string name="sk_confirm_delete_draft_title">Excluir rascunho</string>
|
||||
<string name="sk_confirm_delete_draft">Você tem certeza que deseja excluir este rascunho\?</string>
|
||||
<string name="sk_confirm_delete_scheduled_post_title">Excluir postagem agendada</string>
|
||||
<string name="sk_confirm_delete_scheduled_post">Você tem certeza que deseja excluir esta postagem agendada\?</string>
|
||||
<string name="sk_compose_draft">A postagem será salva como rascunho.</string>
|
||||
<string name="sk_compose_scheduled">Agendado para</string>
|
||||
<string name="sk_draft_saved">Rascunho salvo</string>
|
||||
<string name="sk_post_scheduled">Postagem agendada</string>
|
||||
<string name="sk_forward_report_to">Encaminhar para %s</string>
|
||||
<string name="sk_scheduled_too_soon_title">O horário agendado está muito próximo</string>
|
||||
<string name="sk_scheduled_too_soon">A postagem deve ser agendada com pelo menos 10 minutos de antecedência.</string>
|
||||
<string name="sk_confirm_save_draft">Salvar rascunho\?</string>
|
||||
<string name="sk_confirm_save_changes">Salvar alterações\?</string>
|
||||
<string name="sk_mark_as_draft">Marcar como rascunho</string>
|
||||
<string name="sk_bookmarked_as">Salvo em %s</string>
|
||||
<string name="sk_favorited_as">Favoritado em %s</string>
|
||||
<string name="sk_reblogged_as">Reblogou como %s</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Padronizar ícone para todas as notificações</string>
|
||||
<string name="sk_quote_post">Publique sobre isso</string>
|
||||
<string name="sk_draft_or_schedule">Rascunhar ou agendar</string>
|
||||
<string name="sk_schedule_post">Agendar publicação</string>
|
||||
<string name="sk_schedule_or_draft">Agendar ou rascunhar</string>
|
||||
<string name="sk_compose_no_schedule">Não agendar</string>
|
||||
<string name="sk_compose_no_draft">Não rascunhar</string>
|
||||
<string name="sk_mark_as_read">Marcar como lido</string>
|
||||
<string name="sk_settings_about_instance">Sobre a instância</string>
|
||||
<string name="sk_create">Criar</string>
|
||||
<string name="sk_create_list_title">Criar lista</string>
|
||||
<string name="sk_list_replies_policy">Mostrar respostas para</string>
|
||||
<string name="sk_list_replies_policy_list">listar membros</string>
|
||||
<string name="sk_list_replies_policy_none">ninguém</string>
|
||||
<string name="sk_delete_list">Excluir lista</string>
|
||||
<string name="sk_delete_list_confirm">Tem certeza que deseja excluir esta lista\?</string>
|
||||
<string name="sk_edit_list_title">Editar lista</string>
|
||||
<string name="sk_your_lists">Suas listas</string>
|
||||
<string name="sk_list_name_hint">Lista de nomes</string>
|
||||
<string name="sk_settings_reduce_motion">Reduzir movimento nas animações</string>
|
||||
<string name="sk_announcements">Comunicados</string>
|
||||
<string name="sk_settings_single_notification">Mostrar apenas uma notificação</string>
|
||||
<string name="sk_list_replies_policy_followed">usuários seguidos</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
<string name="sk_delete_and_redraft">Izbriši in ponovno izdelaj</string>
|
||||
<string name="sk_pin_post">Pripni na profil</string>
|
||||
<string name="sk_confirm_pin_post_title">Pripni objavo na profil</string>
|
||||
<string name="sk_pinning">Pripenjam objavo…</string>
|
||||
<string name="sk_unpin_post">Odpni iz profila</string>
|
||||
<string name="sk_confirm_unpin_post_title">Odpni objavo iz profila</string>
|
||||
<string name="sk_image_description">Opis slike</string>
|
||||
<string name="sk_visibility_unlisted">Nenavedeno</string>
|
||||
<string name="sk_settings_show_replies">Prikaži odgovor</string>
|
||||
<string name="sk_mark_media_as_sensitive">Označite medij kot občutljiv</string>
|
||||
<string name="sk_federated_timeline">Federacija</string>
|
||||
<string name="sk_clear_recent_languages">Izbriši nazadnje uporabljene jezike</string>
|
||||
<string name="sk_app_name">Moshidon</string>
|
||||
<string name="sk_pinned_posts">Pripeto</string>
|
||||
<string name="sk_confirm_delete_and_redraft_title">Izbriši ter ponovno izdelaj objavo</string>
|
||||
<string name="sk_confirm_delete_and_redraft">Ali ste prepričani, da želite objavo izbrisati in jo ponovno izdelati\?</string>
|
||||
<string name="sk_confirm_pin_post">Ali želite pripeti to objavo na vaš profil\?</string>
|
||||
<string name="sk_confirm_unpin_post">Ali ste prepričani, da želite odpeti to objavo\?</string>
|
||||
<string name="sk_unpinning">Odpenjanje objave…</string>
|
||||
<string name="sk_settings_load_new_posts">Samodejno naloži nove objave</string>
|
||||
<string name="sk_settings_app_version">Moshidon v%1$s (%2$d)</string>
|
||||
</resources>
|
||||
@@ -41,7 +41,7 @@
|
||||
<string name="sk_follow_requests">Запити на стеження</string>
|
||||
<string name="sk_accept_follow_request">Погодити запит на стеження</string>
|
||||
<string name="sk_reject_follow_request">Відхилити запит на стеження</string>
|
||||
<string name="sk_lists_with_user">Списки з %s</string>
|
||||
<string name="sk_lists_with_user">Редагувати списки з %s</string>
|
||||
<string name="sk_disable_marquee">Вимкнути прокручування тексту у рядках заголовка</string>
|
||||
<string name="sk_settings_contribute">Допомогти у розробці Moshidon</string>
|
||||
<string name="sk_mark_media_as_sensitive">Позначити медіа делікатним</string>
|
||||
@@ -94,11 +94,11 @@
|
||||
<string name="sk_already_bookmarked">Уже в закладках</string>
|
||||
<string name="sk_favorited_as">Уподобано як %s</string>
|
||||
<string name="sk_already_favorited">Уже вподобано</string>
|
||||
<string name="sk_reblog_as">Поширити з іншого облікового запису</string>
|
||||
<string name="sk_reblog_as">Поширити в іншому обліковому записі</string>
|
||||
<string name="sk_already_reblogged">Уже поширено</string>
|
||||
<string name="sk_settings_uniform_icon_for_notifications">Єдина піктограма для всіх сповіщень</string>
|
||||
<string name="sk_bookmark_as">Додати до закладок іншого облікового запису</string>
|
||||
<string name="sk_favorite_as">Уподобане з іншого облікового запису</string>
|
||||
<string name="sk_favorite_as">Уподобане іншим обліковим записом</string>
|
||||
<string name="sk_reblogged_as">Поширено як %s</string>
|
||||
<string name="sk_reply_as">Відповісти з іншого облікового запису</string>
|
||||
<string name="sk_forward_report_to">Переслати до %s</string>
|
||||
@@ -120,4 +120,27 @@
|
||||
<string name="sk_mark_as_draft">Позначити чернеткою</string>
|
||||
<string name="sk_schedule_post">Запланувати допис</string>
|
||||
<string name="sk_confirm_save_draft">Зберегти чернетку\?</string>
|
||||
<string name="sk_schedule_or_draft">Запланувати або перемістити до чернеток</string>
|
||||
<string name="sk_compose_no_schedule">Не планувати</string>
|
||||
<string name="sk_compose_no_draft">Не переміщувати до чернеток</string>
|
||||
<string name="sk_settings_reduce_motion">Зменшити рух в анімації</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">Показати відповіді для</string>
|
||||
<string name="sk_list_replies_policy_list">учасники списку</string>
|
||||
<string name="sk_list_replies_policy_none">ніхто</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_announcements">Оголошення</string>
|
||||
<string name="sk_settings_single_notification">Показувати лише одне сповіщення</string>
|
||||
<string name="sk_list_replies_policy_followed">відстежувані користувачі</string>
|
||||
<string name="sk_timeline_home">Головна</string>
|
||||
<string name="sk_timeline_local">Локальна</string>
|
||||
<string name="sk_timeline_federated">Федерація</string>
|
||||
<string name="sk_recent_searches_placeholder">Введіть щось, щоб почати пошук</string>
|
||||
</resources>
|
||||
@@ -32,7 +32,7 @@
|
||||
<string name="sk_list_timelines">列表</string>
|
||||
<string name="sk_accept_follow_request">接受关注请求</string>
|
||||
<string name="sk_reject_follow_request">拒绝关注请求</string>
|
||||
<string name="sk_lists_with_user">%s 的列表</string>
|
||||
<string name="sk_lists_with_user">使用 %s 编辑列表</string>
|
||||
<string name="sk_disable_marquee">禁用标题栏的滚动文本</string>
|
||||
<string name="sk_settings_contribute">向 Moshidon 贡献</string>
|
||||
<string name="sk_settings_show_federated_timeline">显示联邦时间轴</string>
|
||||
@@ -90,13 +90,13 @@
|
||||
<string name="sk_loading_resource_on_instance_title">在 %s 上查找</string>
|
||||
<string name="sk_resource_not_found">找不到资源</string>
|
||||
<string name="sk_open_with_account">用另一个帐户打开</string>
|
||||
<string name="sk_bookmark_as">在其他帐户中添加书签</string>
|
||||
<string name="sk_bookmark_as">与其他帐户的书签</string>
|
||||
<string name="sk_bookmarked_as">已标记为 %s</string>
|
||||
<string name="sk_already_bookmarked">已加入书签</string>
|
||||
<string name="sk_favorite_as">从其他帐户收藏</string>
|
||||
<string name="sk_favorite_as">用其他账号收藏</string>
|
||||
<string name="sk_favorited_as">收藏为 %s</string>
|
||||
<string name="sk_already_favorited">已收藏</string>
|
||||
<string name="sk_reblog_as">从其他帐户重新登录</string>
|
||||
<string name="sk_reblog_as">用其他账号转发</string>
|
||||
<string name="sk_reblogged_as">重新登录为 %s</string>
|
||||
<string name="sk_already_reblogged">已重新登录</string>
|
||||
<string name="sk_reply_as">用其他帐号回复</string>
|
||||
@@ -118,4 +118,33 @@
|
||||
<string name="sk_scheduled_too_soon">嘟文必须预订在未来至少 10 分钟后。</string>
|
||||
<string name="sk_save_draft">保存草稿?</string>
|
||||
<string name="sk_save_changes">保存更改?</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_settings_reduce_motion">减少动画中的效果</string>
|
||||
<string name="sk_schedule_or_draft">预订或草稿</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">只显示一个通知</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">显示回复</string>
|
||||
<string name="sk_list_replies_policy_list">列出成员</string>
|
||||
<string name="sk_list_replies_policy_followed">关注的用户</string>
|
||||
<string name="sk_list_replies_policy_none">没有人</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_federated">联邦</string>
|
||||
<string name="sk_recent_searches_placeholder">输入内容开始搜索</string>
|
||||
<string name="sk_remove_follower">删除关注者</string>
|
||||
<string name="sk_do_remove_follower">删除</string>
|
||||
<string name="sk_remove_follower_success">成功删除关注者</string>
|
||||
<string name="sk_changelog">变更日志</string>
|
||||
</resources>
|
||||
@@ -34,7 +34,7 @@
|
||||
<string name="sk_follow_requests">Follow requests</string>
|
||||
<string name="sk_accept_follow_request">Accept follow request</string>
|
||||
<string name="sk_reject_follow_request">Reject follow request</string>
|
||||
<string name="sk_lists_with_user">Lists with %s</string>
|
||||
<string name="sk_lists_with_user">Edit lists with %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Always reveal content warnings</string>
|
||||
<string name="sk_disable_marquee">Disable scrolling text in title bars</string>
|
||||
<string name="sk_disable_dividers">Disable post dividers</string>
|
||||
@@ -68,6 +68,9 @@
|
||||
<string name="sk_app_username" translatable="false">\@moshidon</string>
|
||||
<string name="sk_tabs_disable_swipe">Disable swiping between tabs</string>
|
||||
<string name="sk_settings_profile">Set up profile</string>
|
||||
<string name="sk_personal_note">Add a note about this profile</string>
|
||||
<string name="sk_personal_note_confirm">Confirm changes to note</string>
|
||||
<string name="sk_personal_note_update_failed">Failed to save note</string>
|
||||
<string name="sk_settings_posting">Posting preferences</string>
|
||||
<string name="sk_settings_filters">Configure filters</string>
|
||||
<string name="sk_settings_auth">Security settings</string>
|
||||
@@ -139,10 +142,32 @@
|
||||
<string name="sk_keep_only_latest_notification">Keep only latest notification</string>
|
||||
<string name="sk_announcements">Announcements</string>
|
||||
<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_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>
|
||||
<string name="sk_list_replies_policy_list">list members</string>
|
||||
<string name="sk_list_replies_policy_followed">followed users</string>
|
||||
<string name="sk_list_replies_policy_none">no one</string>
|
||||
<string name="sk_delete_list">Delete list</string>
|
||||
<string name="sk_delete_list_confirm">Are you sure you want to delete the list “%s”?</string>
|
||||
<string name="sk_edit_list_title">Edit list</string>
|
||||
<string name="sk_your_lists">Your lists</string>
|
||||
<string name="sk_timeline_home">Home</string>
|
||||
<string name="sk_timeline_local">Local</string>
|
||||
<string name="sk_timeline_federated">Federation</string>
|
||||
<string name="sk_recent_searches_placeholder">Type something to start searching</string>
|
||||
<string name="sk_remove_follower">Remove as follower</string>
|
||||
<string name="sk_remove_follower_confirm">Remove %s as a follower by blocking and immediately unblocking them?</string>
|
||||
<string name="sk_do_remove_follower">Remove</string>
|
||||
<string name="sk_remove_follower_success">Successfully removed follower</string>
|
||||
|
||||
<!-- accessibility labels-->
|
||||
<string name="sk_poll_option_add">Add new poll option</string>
|
||||
<string name="sk_fab_compose">Compose</string>
|
||||
<string name="sk_sending_error">Error publishing</string>
|
||||
|
||||
|
||||
</resources>
|
||||
4
metadata/ca/changelogs/55.txt
Normal file
4
metadata/ca/changelogs/55.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Corregeix la renderització trencada d'etiquetes HTML i activa la renderització del format Markdown
|
||||
- Inicia el <a href="https://translate.codeberg.org/projects/megalodon">projecte de traducció a Weblate</a>
|
||||
- Afegeix un commutador per a la línia de temps federada
|
||||
- Les versions 52-54 eren xicotets ajustos per a un llançament a Google Play
|
||||
6
metadata/ca/changelogs/56.txt
Normal file
6
metadata/ca/changelogs/56.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Temes colorits personalitzats per @LucasGGamerM
|
||||
- Nou logotip de «megalodon» enviat per @LucasGGamerM
|
||||
- Millor cerca d'emojis en la redacció
|
||||
- Votació ajustada (mostra el propi vot, mostra sempre el botó de vot, no talla les respostes llargues)
|
||||
- Afegeix la configuració de notificacions emergents per a les notificacions de publicacions
|
||||
- Correccions d'errors
|
||||
6
metadata/ca/changelogs/59.txt
Normal file
6
metadata/ca/changelogs/59.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Afegeix un selector d'idioma
|
||||
- Afegeix la funció de traducció
|
||||
- Millora la semàntica per a votar en les enquestes (botons radials i caselles de selecció)
|
||||
- Afegeix una opció per a permetre la votació de múltiples opcions en les enquestes
|
||||
- Pantalla d'inici de sessió nova
|
||||
- Correccions d'errors
|
||||
5
metadata/ca/changelogs/61.txt
Normal file
5
metadata/ca/changelogs/61.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
- Colors de tema nous: Material You i vermell
|
||||
- Nous tons grisos foscos per a tots els temes
|
||||
- Icona d'impuls plena millor diferenciada
|
||||
- Animacions per als botons d'interacció
|
||||
- Correccions d'errors (fallada en algunes publicacions, «Llistes amb», llengua de publicació per defecte)
|
||||
11
metadata/ca/changelogs/62.txt
Normal file
11
metadata/ca/changelogs/62.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
- Botó «Publica» personalitzable
|
||||
- Obri els enllaços del Fedivers a l'aplicació
|
||||
- Pulsació llarga al botó d'impuls per a «citar» una publicació
|
||||
- Copia l'URL de la publicació en mantenir polsat el botó de compartir
|
||||
- Incorpora l'eliminació de notificacions (desactivat per defecte)
|
||||
- Icones dedicades per a diferents tipus de notificacions
|
||||
- Colors grisos nous
|
||||
- Afegeix una opció de configuració per desactivar el desplaçament entre pestanyes
|
||||
- Afegeix diversos enllaços a la configuració del compte
|
||||
- Commutador per a mostrar/amagar el botó de traducció a la línia de temps
|
||||
- Correccions d'errors i millores
|
||||
6
metadata/ca/changelogs/63.txt
Normal file
6
metadata/ca/changelogs/63.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Opció per a impulsar amb una visibilitat específica en fer una polsació llarga
|
||||
- Mostra la visibilitat dels propis impulsos
|
||||
- Afegeix una llista de les etiquetes seguides
|
||||
- Pulsació llarga per a copiar enllaços
|
||||
- Opció per obrir publicacions des d'un altre compte
|
||||
- Correccions d'errors i retocs menors
|
||||
10
metadata/ca/changelogs/65.txt
Normal file
10
metadata/ca/changelogs/65.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
- Esborranys i publicacions programades
|
||||
- Mostra la publicació original en respondre
|
||||
- Filtres compatibles amb Mastodon 4.0 (encara no té la funció «amaga amb un avís»)
|
||||
- Feu una pulsació llarga per a interactuar amb les publicacions (respondre, impulsar, agradar, afegir com a marcador) des d'altres comptes connectats
|
||||
- Icones en tots els menús
|
||||
- Commutador per a reenviar informes
|
||||
- Afegeix una menció quan s'utilitze la funció «Publica sobre açò»
|
||||
- Opció per a utilitzar una única icona de notificacions en lloc de les icones diferents
|
||||
- Opció per accedir a la llista de normes des de la configuració de l'aplicació
|
||||
- Correccions d'errors
|
||||
10
metadata/de-DE/changelogs/67.txt
Normal file
10
metadata/de-DE/changelogs/67.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
- Neuer Home-Tab mit öffentlichen Timelines
|
||||
- Server-Ankündigungen werden nun angezeigt
|
||||
- Text wird nach Systemeinstellungen skaliert
|
||||
- Verbesserte Filter (noch ohne "Mit Warnung verbergen"-Feature) von @thiagojedi
|
||||
- Features zum Listen-Management
|
||||
- Follower via “Soft-Block” entfernen
|
||||
- Keine Verbindungen mit Faschos
|
||||
- Fehler beim Laden von Bildern auf Akkoma-Instanzen behoben
|
||||
- Fehlerbehebungen und UI-Verbesserungen
|
||||
- Versionsverlauf zu Updater hinzugefügt, von @LucasGGamerM
|
||||
4
metadata/it-IT/changelogs/50.txt
Normal file
4
metadata/it-IT/changelogs/50.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Preparati i file per il rilascio su F-Droid
|
||||
- Risolto il problema con l'aggiornamento automatico
|
||||
- Aggiunte le icone monocromatiche nelle icone di avvio
|
||||
- Sostituita l'icona "non elencato" errata nel piè di pagina esteso
|
||||
6
metadata/it-IT/changelogs/51.txt
Normal file
6
metadata/it-IT/changelogs/51.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Adesso è consentito aprire il post originale durante la risposta (cliccando sulla riga "In risposta a...")
|
||||
- Unite modifiche a monte e correzioni di bug
|
||||
- Rimosso il codice "App Center" inutilizzato
|
||||
- Aggiunta versione senza timeline federata per Play Store
|
||||
- Aggiunto URI di reindirizzamento personalizzato per un accesso più semplice
|
||||
- Cambiato il link per contribuire
|
||||
4
metadata/it-IT/changelogs/55.txt
Normal file
4
metadata/it-IT/changelogs/55.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Corretto il rendering interrotto dei tag HTML e abilitato il rendering della formattazione Markdown
|
||||
- Inizializzato il <a href="https://translate.codeberg.org/projects/megalodon">progetto di traduzione Weblate</a>
|
||||
- Aggiunta dell'interruttore per la sequenza temporale Federata
|
||||
- Le versioni 52-54 erano piccoli aggiustamenti per una versione su Google Play
|
||||
6
metadata/it-IT/changelogs/56.txt
Normal file
6
metadata/it-IT/changelogs/56.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Temi colore personalizzati di @LucasGGamerM
|
||||
- Nuovo logo di testo "megalodon" inviato da @LucasGGamerM
|
||||
- Migliore ricerca delle emoji durante la composizione
|
||||
- Voto ottimizzato (mostra il tuo voto, mostra sempre il pulsante di voto, non tagliare le risposte lunghe)
|
||||
- Aggiunta l'impostazione di notifica push per le notifiche post
|
||||
- Correzioni di bug
|
||||
6
metadata/it-IT/changelogs/59.txt
Normal file
6
metadata/it-IT/changelogs/59.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Aggiunto selettore di lingua
|
||||
- Aggiunta funzione di traduzione
|
||||
- Migliorata la semantica per il voto nei sondaggi (pulsanti di opzione e caselle di controllo)
|
||||
- Aggiunta opzione per consentire il voto per più opzioni sui sondaggi
|
||||
- Nuova schermata di accesso
|
||||
- Correzioni di bug
|
||||
5
metadata/it-IT/changelogs/61.txt
Normal file
5
metadata/it-IT/changelogs/61.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
- Nuovi temi colore: Material You e Red
|
||||
- Nuove tonalità di grigio scuro per tutti i temi
|
||||
- Icona boost piena più distinta
|
||||
- Animazioni per pulsanti di interazione
|
||||
- Correzioni di bug (arresto anomalo in alcuni post, "Liste con", lingua di pubblicazione predefinita)
|
||||
11
metadata/it-IT/changelogs/62.txt
Normal file
11
metadata/it-IT/changelogs/62.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
- Pulsante Pubblica personalizzato
|
||||
- Apri i collegamenti del Fediverse nell'app
|
||||
- Clic lungo su boost per "citare" un post
|
||||
- Copia l'URL del post quando premi a lungo condividi
|
||||
- Aggiunta eliminazione delle notifiche
|
||||
- Icone dedicate per diversi tipi di notifica
|
||||
- Nuovi colori grigi
|
||||
- Aggiunta impostazione per controllare lo scorrimento tra schede
|
||||
- Aggiunti collegamenti alle impostazioni dell'account
|
||||
- Controlli per nascondere il pulsante di traduzione
|
||||
- Correzioni di bug e modifiche
|
||||
6
metadata/it-IT/changelogs/63.txt
Normal file
6
metadata/it-IT/changelogs/63.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- Opzione per reblog con visibilità specifica con clic lungo
|
||||
- Mostra visibilità dei propri reblog
|
||||
- Aggiunto elenco di hashtag seguiti
|
||||
- Fai clic a lungo per copiare i collegamenti
|
||||
- Aggiunta opzione per aprire post con altri account
|
||||
- Correzioni di bug e modifiche minori
|
||||
10
metadata/it-IT/changelogs/65.txt
Normal file
10
metadata/it-IT/changelogs/65.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
- Bozze e post programmati
|
||||
- Mostra il post originale quando rispondi
|
||||
- Filtri compatibili con Mastodon 4.0 ("nascondi con avviso" ancora assente)
|
||||
- Fai clic a lungo per interagire con i post da altri account che hanno effettuato l'accesso
|
||||
- Icone in tutti i menu
|
||||
- Toggle per l'inoltro dei rapporti
|
||||
- Aggiungi menzione quando usi la funzione "Pubblica su questo".
|
||||
- Opzione per utilizzare un'icona di notifica uniforme
|
||||
- Opzione per accedere all'elenco delle regole in-app
|
||||
- Correzioni di bug
|
||||
16
metadata/it-IT/full_description.txt
Normal file
16
metadata/it-IT/full_description.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
Megalodon è una versione modificata dell' <a href="https://github.com/mastodon/mastodon-android">app ufficiale di Mastodon per Android</a>, che aggiunge importanti funzionalità mancanti nell'app ufficiale, come la timeline federata, creazione di post non in lista e un visualizzatore della descrizione delle immagini.
|
||||
|
||||
<b>Funzionalità chiave</b>
|
||||
|
||||
- <b>Creazione di post non in lista</b>: Crea post pubblici senza farli mostrarli nei trend, hashtags o timeline pubbliche.
|
||||
- <b>Timeline federata</b>: Vedi tutti i post pubblici delle persone in tutte le istanze federate con la tua.
|
||||
- <b>Bozze e post programmati</b>: Permette di preparare un post per essere pubblicato automaticamente in un momento specifico.
|
||||
- <b>Visualizzatore della descrizione delle immagini</b>: Controlla velocemente se un'immagine o video ha un testo alternativo allegato.
|
||||
- <b>Post fissati</b>: Fissa i tuoi post più importanti sul tuo profilo, e vedi i post fissati degli altri nella scheda "Fissati".
|
||||
- <b>Segui gli hashtags</b>: Vedi i nuovi post da hashtags specifici direttamente nella timeline Home seguendoli.
|
||||
- <b>Richieste di seguirti</b>: Accetta o rifiuta le richieste di seguirti dalle notifiche o dalla lista delle richieste.
|
||||
- <b>Elimina e riscrivi</b>: La funzione più amata, che rende possibile modificare i post senza avere una vera funzione di modifica.
|
||||
- <b>Selettore delle lingue</b>: Seleziona facilmente la lingua di ogni post, in modo far fare funzionare correttamente i filtri e le traduzioni.
|
||||
- <b>Traduzioni</b>: Traduci facilmente i post in Megalodon! Funziona solo se la traduzione è attivata dall'istanza.
|
||||
- <b>Indicatore della visibilità dei post</b>: Quando apri o rispondi ad un post, apparirà un'icona per indicare la visibilità del post.
|
||||
- <b>Temi cromatici</b>: Se non ti piace il colore rosa predefinito (lo squalo ti sta giudicando silenziosamente), i temi cromatici di Moshidon ti hanno coperto.
|
||||
1
metadata/it-IT/short_description.txt
Normal file
1
metadata/it-IT/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Mastodon per Android, ma rosa e con più funzioni
|
||||
1
metadata/it-IT/title.txt
Normal file
1
metadata/it-IT/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Megalodon
|
||||
8
metadata/ko/changelogs/64.txt
Normal file
8
metadata/ko/changelogs/64.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
- 초안 및 예약 게시물
|
||||
- @thiagojedi 님이 제공한 마스토돈 4.0과 호환되는 필터
|
||||
- 길게 눌러서 로그인한 다른 계정으로 게시물에 반응 (답글, 부스트, 좋아요, 북마크)
|
||||
- 모든 메뉴에 아이콘 표시
|
||||
- "언급하여 게시" 기능으로 멘션을 추가
|
||||
- 알림 아이콘을 모두 같은 아이콘 혹은 서로 다른 아이콘으로 설정하는 옵션 제공
|
||||
- 설정에서 앱으로 규칙 목록을 확인할 수 있는 옵션 제공
|
||||
- 버그 수정
|
||||
10
metadata/ko/changelogs/65.txt
Normal file
10
metadata/ko/changelogs/65.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
- 초안 작성 및 예약 게시
|
||||
- 답글을 달면서 원본 게시물 확인
|
||||
- 마스토돈 4.0 호환 필터 ("경고와 함께 숨기기" 기능은 아직입니다)
|
||||
- 길게 눌러 로그인한 다른 계정으로 게시물에 반응 (답글, 부스트, 좋아요, 보관)
|
||||
- 모든 메뉴에 아이콘 표시
|
||||
- 신고 전달 여부 선택
|
||||
- "언급하여 게시" 기능으로 게시물에 대해 언급
|
||||
- 모든 알림에 대해 같은 아이콘을 사용하는 대신 각각 다른 아이콘을 사용할 수 있는 옵션
|
||||
- 설정 메뉴에서 앱을 벗어나지 않고 규칙을 확인할 수 있는 옵션
|
||||
- 버그 수정
|
||||
1
metadata/my-MM/short_description.txt
Normal file
1
metadata/my-MM/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
ပန်းရောင်ရှိပြီး feature လည်းပိုစုံတဲ့ Android အတွက် Mastodon
|
||||
1
metadata/my-MM/title.txt
Normal file
1
metadata/my-MM/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Megalodon
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user