Compare commits

...

53 Commits

Author SHA1 Message Date
LucasGGamerM
e8a8691b03 Adding 90 changelog 2023-02-01 22:02:29 -03:00
LucasGGamerM
7fe3d97347 Bump version number 2023-02-01 22:01:25 -03:00
poesty
a2e932934c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16 of 16 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/zh_Hans/
(cherry picked from commit c34b08ffb20b1e58307b13775165728a57aaa2f8)
2023-02-01 22:00:13 -03:00
Oliebol
e82e51ca88 Translated using Weblate (Dutch)
Currently translated at 12.5% (2 of 16 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/nl/
(cherry picked from commit 10c50b8a78aba6f275e3ce01260f585c27535e46)
2023-02-01 22:00:12 -03:00
tygyh
ef561b6724 Translated using Weblate (Swedish)
Currently translated at 100.0% (16 of 16 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/sv/
(cherry picked from commit 467bde77b94623a9aff2bf1e0a5f735819f65edb)
2023-02-01 22:00:12 -03:00
poesty
2bdff65c13 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (22 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/zh_Hans/
(cherry picked from commit 1937864d90f67d1a1df40f15e1b6e900aa55fa8a)
2023-02-01 22:00:12 -03:00
LucasGGamerM
286b642101 Merge branch 'feature/filters_again' 2023-02-01 21:46:50 -03:00
LucasGGamerM
27ed78c293 Merge branch 'feature/filters' 2023-02-01 21:44:35 -03:00
LucasGGamerM
562a5aae7d Its now a much cleaner transition 2023-02-01 21:42:47 -03:00
LucasGGamerM
4940eff7f9 Its pretty much done i think 2023-02-01 21:39:54 -03:00
LucasGGamerM
cfb9854a8e Adding a little bit of polish, and also adding a title to the filters 2023-02-01 21:16:47 -03:00
LucasGGamerM
594e49cf64 Fixing a weird bug I found 2023-02-01 20:21:19 -03:00
LucasGGamerM
ad2895e297 Doing a bit of cleanup. Man, I still dont believe what i have done 2023-01-31 20:36:01 -03:00
LucasGGamerM
dae2632c18 IT WORKS, now i need to polish it :) 2023-01-31 20:30:05 -03:00
LucasGGamerM
97f09d4569 Adding missing drawables? 2023-01-30 19:13:20 -03:00
LucasGGamerM
ac1dbc0f90 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	mastodon/src/main/res/values-de-rDE/strings_mo.xml
#	metadata/es-ES/changelogs/80.txt
#	metadata/es-ES/changelogs/81.txt
#	metadata/es-ES/full_description.txt
2023-01-30 18:55:16 -03:00
LucasGGamerM
cf67175826 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.4% (21 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/pt_BR/
2023-01-30 21:51:47 +00:00
MKCOOL142
dc8f81f447 Translated using Weblate (German)
Currently translated at 100.0% (22 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/de/
2023-01-30 21:51:46 +00:00
MKCOOL142
b11b4c95d0 Translated using Weblate (German)
Currently translated at 100.0% (16 of 16 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/de/
2023-01-30 21:51:46 +00:00
Espasant3
20dc664242 Translated using Weblate (Galician)
Currently translated at 40.0% (6 of 15 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/gl/
2023-01-30 19:04:45 +00:00
ewm
5cabab368f Translated using Weblate (Polish)
Currently translated at 13.3% (2 of 15 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/pl/
2023-01-30 19:04:45 +00:00
Oliebol
e512a0b327 Translated using Weblate (Dutch)
Currently translated at 6.6% (1 of 15 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/nl/
2023-01-30 19:04:45 +00:00
Espasant3
4a96392f11 Translated using Weblate (Spanish)
Currently translated at 86.6% (13 of 15 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/es/
2023-01-30 19:04:45 +00:00
ewm
74a28cb881 Translated using Weblate (Polish)
Currently translated at 90.9% (20 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/pl/
2023-01-30 19:04:45 +00:00
dontobi
cd712f5109 Translated using Weblate (German)
Currently translated at 100.0% (15 of 15 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/de/
2023-01-30 19:04:45 +00:00
Oliebol
11d5a65f04 Translated using Weblate (Dutch)
Currently translated at 81.8% (18 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/nl/
2023-01-30 19:04:45 +00:00
ghose
efc1a0b4e3 Translated using Weblate (Galician)
Currently translated at 15.3% (2 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/gl/
2023-01-30 19:04:45 +00:00
ghose
492d9e90b8 Translated using Weblate (Galician)
Currently translated at 100.0% (22 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/gl/
2023-01-30 19:04:45 +00:00
LucasGGamerM
0928b5808f Adding 89 changelog 2023-01-30 16:03:44 -03:00
LucasGGamerM
99c2555a88 Bumping version number 2023-01-30 15:59:03 -03:00
LucasGGamerM
ede4137935 It now hides everything! It still doesnt pop up though :D 2023-01-29 18:46:39 -03:00
LucasGGamerM
b625ed7aec Now it acctually shows a missing posts warning below every filtered post. Still a long way to go 2023-01-29 18:24:34 -03:00
LucasGGamerM
03722868b1 Fixing a crash again 2023-01-29 14:19:38 -03:00
LucasGGamerM
a2a0c9801b Fixing #61 2023-01-29 10:40:39 -03:00
LucasGGamerM
9a55f847b9 Its once again almost working 2023-01-28 20:19:41 -03:00
LucasGGamerM
0473062bc2 Its almost working! 2023-01-28 19:30:21 -03:00
LucasGGamerM
9393e845b7 Removing megalodon things i accidentally merged 2023-01-28 13:56:50 -03:00
tygyh
afbf13ef95 Translated using Weblate (Swedish)
Currently translated at 38.4% (5 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/sv/
2023-01-26 17:12:42 +00:00
HudobniVolk
8e4cff17a5 Translated using Weblate (Slovenian)
Currently translated at 46.1% (6 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/sl/
2023-01-26 17:12:42 +00:00
LamaEpik
da954ed3fd Translated using Weblate (French)
Currently translated at 15.3% (2 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/fr/
2023-01-26 17:12:42 +00:00
Andrewblasco
9d48beaebb Translated using Weblate (Spanish)
Currently translated at 100.0% (13 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/es/
2023-01-26 17:12:42 +00:00
tygyh
e607118347 Translated using Weblate (Swedish)
Currently translated at 31.8% (7 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/sv/
2023-01-26 17:12:42 +00:00
Andrewblasco
5f6dafb763 Translated using Weblate (Spanish)
Currently translated at 100.0% (22 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/es/
2023-01-26 17:12:42 +00:00
Kevin
052a000d3c Translated using Weblate (German)
Currently translated at 100.0% (22 of 22 strings)

Translation: Moshidon/values
Translate-URL: https://translate.codeberg.org/projects/moshidon/values/de/
2023-01-26 17:12:42 +00:00
Kevin
59315f81ec Translated using Weblate (German)
Currently translated at 100.0% (13 of 13 strings)

Translation: Moshidon/metadata
Translate-URL: https://translate.codeberg.org/projects/moshidon/metadata/de/
2023-01-26 17:12:42 +00:00
LucasGGamerM
b79b69d961 Adding a todo 2023-01-18 15:46:15 -03:00
LucasGGamerM
5118a1fb1e Reverting TextStatusDisplayItem to master's, as I have figured out a better way to do filters 2023-01-18 15:36:22 -03:00
LucasGGamerM
18275183d0 Merge branch 'master' into feature/filters 2023-01-18 15:28:07 -03:00
LucasGGamerM
6c778d05ea Its half working++ 2023-01-09 16:16:38 -03:00
LucasGGamerM
2d9938e8b2 Its half working 2023-01-08 21:31:01 -03:00
LucasGGamerM
1e99940c1d I have figured out something, I dont know what it is though 2023-01-08 21:01:59 -03:00
LucasGGamerM
2827bcffe3 Merge branch 'master' into feature/filters 2023-01-08 20:56:22 -03:00
LucasGGamerM
ce4e762cd5 Trying my best to make this work 2023-01-07 21:29:03 -03:00
126 changed files with 491 additions and 457 deletions

View File

@@ -9,8 +9,8 @@ android {
applicationId "org.joinmastodon.android.moshinda" applicationId "org.joinmastodon.android.moshinda"
minSdk 23 minSdk 23
targetSdk 33 targetSdk 33
versionCode 88 versionCode 90
versionName "1.1.4+fork.88.moshinda" versionName "1.1.4+fork.90.moshinda"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "nl-rNL", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "vi-rVN", "zh-rCN", "zh-rTW" resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "nl-rNL", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "vi-rVN", "zh-rCN", "zh-rTW"
} }

View File

@@ -42,6 +42,7 @@ import org.joinmastodon.android.ui.displayitems.PollFooterStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.PollOptionStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.PollOptionStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem; import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.TextStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.TextStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.WarningFilteredStatusDisplayItem;
import org.joinmastodon.android.ui.photoviewer.PhotoViewer; import org.joinmastodon.android.ui.photoviewer.PhotoViewer;
import org.joinmastodon.android.ui.photoviewer.PhotoViewerHost; import org.joinmastodon.android.ui.photoviewer.PhotoViewerHost;
import org.joinmastodon.android.ui.utils.UiUtils; import org.joinmastodon.android.ui.utils.UiUtils;
@@ -513,6 +514,26 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
updateImagesSpoilerState(status, itemID); updateImagesSpoilerState(status, itemID);
} }
// public void onRevealFilteredClick(TextStatusDisplayItem.Holder holder){
// Status status=holder.getItem().status;
// revealFiltered(status, holder.getItemID());
// }
public void onRevealFilteredClick(WarningFilteredStatusDisplayItem.Holder holder){
Status status=holder.getItem().status;
// revealFiltered(status, holder.getItemID());
}
protected void revealFiltered(Status status, ArrayList<StatusDisplayItem> showedItems){
status.filterRevealed=true;
}
// public void notifyItemsChanged(int adapterPosition){
// adapter.notifyItemChanged(adapterPosition);
// }
public void onVisibilityIconClick(HeaderStatusDisplayItem.Holder holder){ public void onVisibilityIconClick(HeaderStatusDisplayItem.Holder holder){
Status status=holder.getItem().status; Status status=holder.getItem().status;
status.spoilerRevealed=!status.spoilerRevealed; status.spoilerRevealed=!status.spoilerRevealed;
@@ -543,6 +564,16 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
public void onGapClick(GapStatusDisplayItem.Holder item){} public void onGapClick(GapStatusDisplayItem.Holder item){}
public void onWarningClick(WarningFilteredStatusDisplayItem.Holder warningItem){
int i = warningItem.getAbsoluteAdapterPosition();
displayItems.remove(warningItem.getAbsoluteAdapterPosition());
for(StatusDisplayItem item:warningItem.filteredItems){
displayItems.add(i, item);
i++;
}
adapter.notifyItemChanged(warningItem.getAbsoluteAdapterPosition());
}
public String getAccountID(){ public String getAccountID(){
return accountID; return accountID;
} }

View File

@@ -45,6 +45,7 @@ public class HomeTimelineFragment extends FabStatusListFragment {
} }
private List<Status> filterPosts(List<Status> items) { 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 -> return items.stream().filter(i ->
(GlobalUserPreferences.showReplies || i.inReplyToId == null) && (GlobalUserPreferences.showReplies || i.inReplyToId == null) &&
(GlobalUserPreferences.showBoosts || i.reblog == null) (GlobalUserPreferences.showBoosts || i.reblog == null)
@@ -97,24 +98,24 @@ public class HomeTimelineFragment extends FabStatusListFragment {
@Override @Override
protected void onHidden(){ protected void onHidden(){
super.onHidden(); super.onHidden();
if(!data.isEmpty()){ // if(!data.isEmpty()){
String topPostID=displayItems.get(list.getChildAdapterPosition(list.getChildAt(0))-getMainAdapterOffset()).parentID; // String topPostID=displayItems.get(list.getChildAdapterPosition(list.getChildAt(0))-getMainAdapterOffset()).parentID;
if(!topPostID.equals(lastSavedMarkerID)){ // if(!topPostID.equals(lastSavedMarkerID)){
lastSavedMarkerID=topPostID; // lastSavedMarkerID=topPostID;
new SaveMarkers(topPostID, null) // new SaveMarkers(topPostID, null)
.setCallback(new Callback<>(){ // .setCallback(new Callback<>(){
@Override // @Override
public void onSuccess(SaveMarkers.Response result){ // public void onSuccess(SaveMarkers.Response result){
} // }
//
@Override // @Override
public void onError(ErrorResponse error){ // public void onError(ErrorResponse error){
lastSavedMarkerID=null; // lastSavedMarkerID=null;
} // }
}) // })
.exec(accountID); // .exec(accountID);
} // }
} // }
} }
public void onStatusCreated(StatusCreatedEvent ev){ public void onStatusCreated(StatusCreatedEvent ev){

View File

@@ -258,9 +258,13 @@ public class SettingsFragment extends MastodonToolbarFragment{
items.add(new SwitchItem(R.string.sk_settings_show_alt_indicator, R.drawable.ic_fluent_scan_text_24_regular, GlobalUserPreferences.showAltIndicator, i->{ items.add(new SwitchItem(R.string.sk_settings_show_alt_indicator, R.drawable.ic_fluent_scan_text_24_regular, GlobalUserPreferences.showAltIndicator, i->{
GlobalUserPreferences.showAltIndicator=i.checked; GlobalUserPreferences.showAltIndicator=i.checked;
GlobalUserPreferences.save();
needAppRestart=true;
})); }));
items.add(new SwitchItem(R.string.sk_settings_show_no_alt_indicator, R.drawable.ic_fluent_important_24_regular, GlobalUserPreferences.showNoAltIndicator, i->{ items.add(new SwitchItem(R.string.sk_settings_show_no_alt_indicator, R.drawable.ic_fluent_important_24_regular, GlobalUserPreferences.showNoAltIndicator, i->{
GlobalUserPreferences.showNoAltIndicator=i.checked; GlobalUserPreferences.showNoAltIndicator=i.checked;
GlobalUserPreferences.save();
needAppRestart=true;
})); }));

View File

@@ -18,6 +18,8 @@ public class Filter extends BaseModel{
@RequiredField @RequiredField
public String id; public String id;
@RequiredField @RequiredField
public String title;
@RequiredField
public String phrase; public String phrase;
public transient EnumSet<FilterContext> context=EnumSet.noneOf(FilterContext.class); public transient EnumSet<FilterContext> context=EnumSet.noneOf(FilterContext.class);
public Instant expiresAt; public Instant expiresAt;
@@ -61,6 +63,7 @@ public class Filter extends BaseModel{
public String toString(){ public String toString(){
return "Filter{"+ return "Filter{"+
"id='"+id+'\''+ "id='"+id+'\''+
", title='"+title+'\''+
", phrase='"+phrase+'\''+ ", phrase='"+phrase+'\''+
", context="+context+ ", context="+context+
", expiresAt="+expiresAt+ ", expiresAt="+expiresAt+

View File

@@ -58,6 +58,8 @@ public class Status extends BaseModel implements DisplayItemsParent{
public boolean bookmarked; public boolean bookmarked;
public boolean pinned; public boolean pinned;
public boolean filterRevealed;
public transient boolean spoilerRevealed; public transient boolean spoilerRevealed;
public transient boolean hasGapAfter; public transient boolean hasGapAfter;
private transient String strippedText; private transient String strippedText;

View File

@@ -105,6 +105,7 @@ public class AudioStatusDisplayItem extends StatusDisplayItem{
}else{ }else{
seekBar.setEnabled(false); seekBar.setEnabled(false);
} }
} }
private void onPlayPauseClick(View v){ private void onPlayPauseClick(View v){

View File

@@ -153,6 +153,7 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
bookmark.setSelected(item.status.bookmarked); bookmark.setSelected(item.status.bookmarked);
boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED || item.status.visibility==StatusPrivacy.LOCAL boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED || item.status.visibility==StatusPrivacy.LOCAL
|| (item.status.visibility==StatusPrivacy.PRIVATE && item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id))); || (item.status.visibility==StatusPrivacy.PRIVATE && item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id)));
} }
private void bindButton(TextView btn, long count){ private void bindButton(TextView btn, long count){

View File

@@ -177,7 +177,9 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
})); }));
optionsMenu=new PopupMenu(activity, more); optionsMenu=new PopupMenu(activity, more);
optionsMenu.inflate(R.menu.post); optionsMenu.inflate(R.menu.post);
optionsMenu.setOnMenuItemClickListener(menuItem->{ optionsMenu.setOnMenuItemClickListener(menuItem->{
Account account=item.user; Account account=item.user;
int id=menuItem.getItemId(); int id=menuItem.getItemId();
@@ -275,11 +277,29 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
args.putString("profileDisplayUsername", account.getDisplayUsername()); args.putString("profileDisplayUsername", account.getDisplayUsername());
Nav.go(item.parentFragment.getActivity(), ListTimelinesFragment.class, args); Nav.go(item.parentFragment.getActivity(), ListTimelinesFragment.class, args);
} }
if(!item.status.filterRevealed){
this.itemView.setVisibility(View.GONE);
ViewGroup.LayoutParams params = this.itemView.getLayoutParams();
params.height = 0;
params.width = 0;
this.itemView.setLayoutParams(params);
// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition());
}
return true; return true;
}); });
UiUtils.enablePopupMenuIcons(activity, optionsMenu); UiUtils.enablePopupMenuIcons(activity, optionsMenu);
} }
// public void setFilteredShown(){
// this.itemView.setVisibility(View.VISIBLE);
// params = this.itemView.getLayoutParams();
// params.height = 0;
// params.width = 0;
// this.itemView.setLayoutParams(params);
// }
private void populateAccountsMenu(Menu menu) { private void populateAccountsMenu(Menu menu) {
List<AccountSession> sessions=AccountSessionManager.getInstance().getLoggedInAccounts(); List<AccountSession> sessions=AccountSessionManager.getInstance().getLoggedInAccounts();
sessions.stream().filter(s -> !s.getID().equals(item.accountID)).forEach(s -> { sessions.stream().filter(s -> !s.getID().equals(item.accountID)).forEach(s -> {
@@ -299,20 +319,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
botIcon.setColorFilter(username.getCurrentTextColor()); botIcon.setColorFilter(username.getCurrentTextColor());
separator.setVisibility(View.VISIBLE); 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);
if (item.scheduledStatus!=null) if (item.scheduledStatus!=null)
if (item.scheduledStatus.scheduledAt.isAfter(CreateStatus.DRAFTS_AFTER_INSTANT)) { if (item.scheduledStatus.scheduledAt.isAfter(CreateStatus.DRAFTS_AFTER_INSTANT)) {
timestamp.setText(R.string.sk_draft); timestamp.setText(R.string.sk_draft);
@@ -393,6 +399,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
more.setContentDescription(desc); more.setContentDescription(desc);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) more.setTooltipText(desc); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) more.setTooltipText(desc);
} }
@Override @Override

View File

@@ -73,6 +73,7 @@ public abstract class ImageStatusDisplayItem extends StatusDisplayItem{
photo.setImageDrawable(crossfadeDrawable); photo.setImageDrawable(crossfadeDrawable);
photo.setContentDescription(TextUtils.isEmpty(item.attachment.description) ? item.parentFragment.getString(R.string.media_no_description) : item.attachment.description); photo.setContentDescription(TextUtils.isEmpty(item.attachment.description) ? item.parentFragment.getString(R.string.media_no_description) : item.attachment.description);
didClear=false; didClear=false;
} }
@Override @Override

View File

@@ -84,6 +84,7 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{
photo.setImageDrawable(crossfadeDrawable); photo.setImageDrawable(crossfadeDrawable);
didClear=false; didClear=false;
} }
} }
@Override @Override

View File

@@ -106,6 +106,15 @@ public class PhotoStatusDisplayItem extends ImageStatusDisplayItem{
altTextWrapper.setVisibility(View.GONE); altTextWrapper.setVisibility(View.GONE);
} }
} }
if(!item.status.filterRevealed){
this.itemView.setVisibility(View.GONE);
ViewGroup.LayoutParams params = this.itemView.getLayoutParams();
params.height = 0;
params.width = 0;
this.itemView.setLayoutParams(params);
// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition());
}
} }
private void onShowHideClick(View v){ private void onShowHideClick(View v){

View File

@@ -100,6 +100,7 @@ public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{
if (visibilityText != 0) text.setContentDescription(item.text + " (" + ctx.getString(visibilityText) + ")"); if (visibilityText != 0) text.setContentDescription(item.text + " (" + ctx.getString(visibilityText) + ")");
if(Build.VERSION.SDK_INT<Build.VERSION_CODES.N) if(Build.VERSION.SDK_INT<Build.VERSION_CODES.N)
UiUtils.fixCompoundDrawableTintOnAndroid6(text); UiUtils.fixCompoundDrawableTintOnAndroid6(text);
} }
@Override @Override

View File

@@ -8,6 +8,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.fragments.BaseStatusListFragment; import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.fragments.HashtagTimelineFragment; import org.joinmastodon.android.fragments.HashtagTimelineFragment;
@@ -19,6 +20,7 @@ import org.joinmastodon.android.fragments.ThreadFragment;
import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Attachment; import org.joinmastodon.android.model.Attachment;
import org.joinmastodon.android.model.DisplayItemsParent; import org.joinmastodon.android.model.DisplayItemsParent;
import org.joinmastodon.android.model.Filter;
import org.joinmastodon.android.model.Hashtag; import org.joinmastodon.android.model.Hashtag;
import org.joinmastodon.android.model.Notification; import org.joinmastodon.android.model.Notification;
import org.joinmastodon.android.model.Poll; import org.joinmastodon.android.model.Poll;
@@ -26,6 +28,7 @@ import org.joinmastodon.android.model.ScheduledStatus;
import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.PhotoLayoutHelper; import org.joinmastodon.android.ui.PhotoLayoutHelper;
import org.joinmastodon.android.ui.text.HtmlParser; import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.utils.StatusFilterPredicate;
import org.parceler.Parcels; import org.parceler.Parcels;
import java.util.ArrayList; import java.util.ArrayList;
@@ -78,6 +81,7 @@ public abstract class StatusDisplayItem{
case ACCOUNT -> new AccountStatusDisplayItem.Holder(activity, parent); case ACCOUNT -> new AccountStatusDisplayItem.Holder(activity, parent);
case HASHTAG -> new HashtagStatusDisplayItem.Holder(activity, parent); case HASHTAG -> new HashtagStatusDisplayItem.Holder(activity, parent);
case GAP -> new GapStatusDisplayItem.Holder(activity, parent); case GAP -> new GapStatusDisplayItem.Holder(activity, parent);
case WARNING -> new WarningFilteredStatusDisplayItem.Holder(activity, parent);
case EXTENDED_FOOTER -> new ExtendedFooterStatusDisplayItem.Holder(activity, parent); case EXTENDED_FOOTER -> new ExtendedFooterStatusDisplayItem.Holder(activity, parent);
}; };
} }
@@ -89,11 +93,19 @@ 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, boolean disableTranslate){ 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(); String parentID=parentObject.getID();
ArrayList<StatusDisplayItem> items=new ArrayList<>(); ArrayList<StatusDisplayItem> items=new ArrayList<>();
ArrayList<StatusDisplayItem> filtered=new ArrayList<>();
Status statusForContent=status.getContentStatus(); Status statusForContent=status.getContentStatus();
Bundle args=new Bundle(); Bundle args=new Bundle();
args.putString("account", accountID); args.putString("account", accountID);
ScheduledStatus scheduledStatus = parentObject instanceof ScheduledStatus ? (ScheduledStatus) parentObject : null; ScheduledStatus scheduledStatus = parentObject instanceof ScheduledStatus ? (ScheduledStatus) parentObject : null;
List<Filter> filters=AccountSessionManager.getInstance().getAccount(accountID).wordFilters.stream().filter(f->f.context.contains(Filter.FilterContext.HOME)).collect(Collectors.toList());
StatusFilterPredicate filterPredicate = new StatusFilterPredicate(filters);
statusForContent.filterRevealed = filterPredicate.testWithWarning(status);
if(status.reblog!=null){ if(status.reblog!=null){
boolean isOwnPost = AccountSessionManager.getInstance().isSelf(fragment.getAccountID(), status.account); boolean isOwnPost = AccountSessionManager.getInstance().isSelf(fragment.getAccountID(), status.account);
items.add(new ReblogOrReplyLineStatusDisplayItem(parentID, fragment, fragment.getString(R.string.user_boosted, status.account.displayName), status.account.emojis, R.drawable.ic_fluent_arrow_repeat_all_20_filled, isOwnPost ? status.visibility : null, i->{ items.add(new ReblogOrReplyLineStatusDisplayItem(parentID, fragment, fragment.getString(R.string.user_boosted, status.account.displayName), status.account.emojis, R.drawable.ic_fluent_arrow_repeat_all_20_filled, isOwnPost ? status.visibility : null, i->{
@@ -126,11 +138,12 @@ public abstract class StatusDisplayItem{
} }
))); )));
} }
HeaderStatusDisplayItem header; HeaderStatusDisplayItem header;
items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, notification, scheduledStatus)); items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, notification, scheduledStatus));
if(!TextUtils.isEmpty(statusForContent.content)) if(!TextUtils.isEmpty(statusForContent.content)){
items.add(new TextStatusDisplayItem(parentID, HtmlParser.parse(statusForContent.content, statusForContent.emojis, statusForContent.mentions, statusForContent.tags, accountID), fragment, statusForContent, disableTranslate)); items.add(new TextStatusDisplayItem(parentID, HtmlParser.parse(statusForContent.content, statusForContent.emojis, statusForContent.mentions, statusForContent.tags, accountID), fragment, statusForContent, disableTranslate));
else } else
header.needBottomPadding=true; header.needBottomPadding=true;
List<Attachment> imageAttachments=statusForContent.mediaAttachments.stream().filter(att->att.type.isImage()).collect(Collectors.toList()); List<Attachment> imageAttachments=statusForContent.mediaAttachments.stream().filter(att->att.type.isImage()).collect(Collectors.toList());
if(!imageAttachments.isEmpty()){ if(!imageAttachments.isEmpty()){
@@ -162,14 +175,22 @@ public abstract class StatusDisplayItem{
} }
if(addFooter){ if(addFooter){
items.add(new FooterStatusDisplayItem(parentID, fragment, statusForContent, accountID)); items.add(new FooterStatusDisplayItem(parentID, fragment, statusForContent, accountID));
if(status.hasGapAfter && !(fragment instanceof ThreadFragment)) if(status.hasGapAfter && !(fragment instanceof ThreadFragment)){
items.add(new GapStatusDisplayItem(parentID, fragment)); items.add(new GapStatusDisplayItem(parentID, fragment));
} }
}
int i=1; int i=1;
for(StatusDisplayItem item:items){ for(StatusDisplayItem item:items){
item.inset=inset; item.inset=inset;
item.index=i++; item.index=i++;
} }
if(!statusForContent.filterRevealed){
filtered.add(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, items));
return filtered;
}
return items; return items;
} }
@@ -196,6 +217,7 @@ public abstract class StatusDisplayItem{
ACCOUNT, ACCOUNT,
HASHTAG, HASHTAG,
GAP, GAP,
WARNING,
EXTENDED_FOOTER EXTENDED_FOOTER
} }

View File

@@ -156,6 +156,9 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
? View.VISIBLE : View.GONE); ? View.VISIBLE : View.GONE);
translateButton.setText(item.translated ? R.string.sk_translate_show_original : R.string.sk_translate_post); translateButton.setText(item.translated ? R.string.sk_translate_show_original : R.string.sk_translate_post);
translateInfo.setText(item.translated ? itemView.getResources().getString(R.string.sk_translated_using, item.translation.provider) : ""); translateInfo.setText(item.translated ? itemView.getResources().getString(R.string.sk_translated_using, item.translation.provider) : "");
translateButton.setOnClickListener(v->{ translateButton.setOnClickListener(v->{
if (item.translation == null) { if (item.translation == null) {
translateProgress.setVisibility(View.VISIBLE); translateProgress.setVisibility(View.VISIBLE);
@@ -186,6 +189,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
rebind(); rebind();
} }
}); });
} }
@Override @Override

View File

@@ -0,0 +1,62 @@
package org.joinmastodon.android.ui.displayitems;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.drawables.SawtoothTearDrawable;
import java.util.ArrayList;
// Mind the gap!
public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
public boolean loading;
public final Status status;
public ArrayList<StatusDisplayItem> filteredItems;
public WarningFilteredStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, Status status, ArrayList<StatusDisplayItem> items){
super(parentID, parentFragment);
this.status=status;
this.filteredItems = items;
}
@Override
public Type getType(){
return Type.WARNING;
}
public static class Holder extends StatusDisplayItem.Holder<WarningFilteredStatusDisplayItem>{
public final View warningWrap;
public final Button showBtn;
public final TextView text;
public ArrayList<StatusDisplayItem> filteredItems;
public Holder(Context context, ViewGroup parent){
super(context, R.layout.display_item_warning, parent);
warningWrap=findViewById(R.id.warning_wrap);
showBtn=findViewById(R.id.reveal_btn);
showBtn.setOnClickListener(i -> item.parentFragment.onWarningClick(this));
text=findViewById(R.id.text);
// itemView.setOnClickListener(v->item.parentFragment.onRevealFilteredClick(this));
}
@Override
public void onBind(WarningFilteredStatusDisplayItem item){
filteredItems = item.filteredItems;
text.setText(item.parentFragment.getString(R.string.mo_filtered, item.status.filtered.get(item.status.filtered.size() -1).filter.title));
}
@Override
public void onClick(){
}
}
}

View File

@@ -38,4 +38,22 @@ public class StatusFilterPredicate implements Predicate<Status>{
} }
return true; return true;
} }
public boolean testWithWarning(Status status) {
if(status.filtered!=null){
if (status.filtered.isEmpty()){
return true;
}
boolean matches=status.filtered.stream()
.map(filterResult->filterResult.filter)
.filter(filter->filter.expiresAt==null||filter.expiresAt.isAfter(Instant.now()))
.anyMatch(filter->filter.filterAction==Filter.FilterAction.WARN);
return !matches;
}
for(Filter filter:filters){
if(filter.matches(status))
return false;
}
return true;
}
} }

View File

@@ -0,0 +1,3 @@
<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="M3.897 4.054L3.97 3.97c0.266-0.267 0.683-0.29 0.976-0.073L5.03 3.97 10 8.939l4.97-4.97c0.266-0.266 0.683-0.29 0.976-0.072L16.03 3.97c0.267 0.266 0.29 0.683 0.073 0.976L16.03 5.03 11.061 10l4.97 4.97c0.266 0.266 0.29 0.683 0.072 0.976L16.03 16.03c-0.266 0.267-0.683 0.29-0.976 0.073L14.97 16.03 10 11.061l-4.97 4.97c-0.266 0.266-0.683 0.29-0.976 0.072L3.97 16.03c-0.267-0.266-0.29-0.683-0.073-0.976L3.97 14.97 8.939 10l-4.97-4.97C3.704 4.764 3.68 4.347 3.898 4.054L3.97 3.97 3.897 4.054z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -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="M22 6.5c0 3.038-2.462 5.5-5.5 5.5S11 9.538 11 6.5 13.462 1 16.5 1 22 3.462 22 6.5zm-7.146-2.354c-0.196-0.195-0.512-0.195-0.708 0-0.195 0.196-0.195 0.512 0 0.708L15.793 6.5l-1.647 1.646c-0.195 0.196-0.195 0.512 0 0.707 0.196 0.196 0.512 0.196 0.708 0L16.5 7.208l1.646 1.647c0.196 0.195 0.512 0.195 0.708 0 0.195-0.196 0.195-0.512 0-0.707L17.207 6.5l1.647-1.646c0.195-0.196 0.195-0.512 0-0.708-0.196-0.195-0.512-0.195-0.708 0L16.5 5.793l-1.646-1.647zM19.5 14v-1.732c0.551-0.287 1.056-0.651 1.5-1.078v7.56c0 1.733-1.357 3.15-3.066 3.245L17.75 22H6.25c-1.733 0-3.15-1.357-3.245-3.066L3 18.75V7.25C3 5.517 4.356 4.1 6.066 4.005L6.25 4h4.248c-0.198 0.474-0.34 0.977-0.422 1.5H6.25c-0.918 0-1.671 0.707-1.744 1.606L4.5 7.25V14H9c0.38 0 0.694 0.282 0.743 0.648L9.75 14.75C9.75 15.993 10.757 17 12 17c1.19 0 2.166-0.925 2.245-2.096l0.005-0.154c0-0.38 0.282-0.694 0.648-0.743L15 14h4.5zm-15 1.5v3.25c0 0.918 0.707 1.671 1.606 1.744L6.25 20.5h11.5c0.918 0 1.671-0.707 1.744-1.607L19.5 18.75V15.5h-3.825c-0.335 1.648-1.75 2.904-3.475 2.995L12 18.5c-1.747 0-3.215-1.195-3.632-2.812L8.325 15.5H4.5z" android:fillColor="@color/fluent_default_icon_tint"/>
</vector>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="75dp"
android:id="@+id/warning_wrap"
android:background="@drawable/bg_timeline_gap">
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_gravity="start|center_vertical"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
android:text="@string/mo_filtered"/>
<Button
android:id="@+id/reveal_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_gravity="end|center_vertical"
android:text="@string/tap_to_reveal"
android:singleLine="true"
android:ellipsize="end"
android:visibility="visible"
/>
</FrameLayout>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp">
</FrameLayout>

View File

@@ -3,15 +3,15 @@
<string name="mo_app_name" translatable="false">Moshidon</string> <string name="mo_app_name" translatable="false">Moshidon</string>
<string name="mo_color_palette_nord">Nord</string> <string name="mo_color_palette_nord">Nord</string>
<string name="mo_app_username" translatable="false">\@moshidon</string> <string name="mo_app_username" translatable="false">\@moshidon</string>
<string name="mo_disable_dividers">Beitrags Trennung deaktivieren</string> <string name="mo_disable_dividers">Beitrags-Trennlinien deaktivieren</string>
<string name="mo_relocate_publish_button">Veröffentlichen-Schaltfläche verschieben</string> <string name="mo_relocate_publish_button">Veröffentlichen-Schaltfläche verschieben</string>
<string name="mo_hide_compose_button_while_scrolling_setting">Veröffentlichen Schaltfläche beim scrollen ausblenden</string> <string name="mo_hide_compose_button_while_scrolling_setting">Veröffentlichen Schaltfläche beim scrollen ausblenden</string>
<string name="mo_welcome_text">Moshidon sagt Hi! gib den Domain-Namen deiner Heimat-Instanz unten ein.</string> <string name="mo_welcome_text">Moshidon sagt Hi! Gib den Domain-Namen deiner Heimat-Instanz unten ein.</string>
<!-- Setting this as non-translatable as it simply doesnt change with language--> <!-- Setting this as non-translatable as it simply doesnt change with language-->
<string name="mo_settings_app_version" translatable="false">Moshidon v%1$s (%2$d)</string> <string name="mo_settings_app_version" translatable="false">Moshidon v%1$s (%2$d)</string>
<string name="mo_personal_note">Notiz zu diesem Profil hinzufügen</string> <string name="mo_personal_note">Notiz zu diesem Profil hinzufügen</string>
<string name="mo_personal_note_confirm">Änderungen der Notiz bestätigen</string> <string name="mo_personal_note_confirm">Änderungen der Notiz bestätigen</string>
<string name="mo_personal_note_update_failed">Speichern der Notiz fehlgeschlagen</string> <string name="mo_personal_note_update_failed">Speichern der Notiz ist fehlgeschlagen</string>
<string name="mo_settings_contribute">Zu Megalodon beitragen</string> <string name="mo_settings_contribute">Zu Megalodon beitragen</string>
<string name="mo_update_available">Moshidon %s ist bereit zum herunterladen.</string> <string name="mo_update_available">Moshidon %s ist bereit zum herunterladen.</string>
<string name="mo_update_ready">Moshidon %s ist heruntergeladen und bereit zur Installation.</string> <string name="mo_update_ready">Moshidon %s ist heruntergeladen und bereit zur Installation.</string>

View File

@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="mo_hide_compose_button_while_scrolling_setting">Agochar o botón do editor ao desprazarse</string>
<string name="mo_welcome_text">Para comezar escribe o nome de dominio da instancia da túa conta.</string>
<string name="mo_personal_note_confirm">Confirma os cambios na nota</string>
<string name="mo_personal_note_update_failed">Non se gardou a nota</string>
<string name="mo_settings_contribute">Contribúe a Moshidon</string>
<string name="mo_update_available">Moshidon %s está lista para descarga.</string>
<string name="mo_no_image_desc_title">Sen descrición para a imaxe</string>
<string name="mo_emoji_recent">Usados recentemente</string>
<string name="mo_clear_recent_emoji">Limpar lista emojis recentes</string>
<string name="mo_disable_relocate_publish_button_to_enable_customization">Desactivar a opción de Mover o botón de publicar para permitir personalización</string>
<string name="mo_poll_option_add">Engadir nova opción á enquisa</string>
<string name="mo_fab_compose">Redactar</string>
<string name="mo_sending_error">Erro ao publicar</string>
<string name="mo_color_palette_nord">Nord</string>
<string name="mo_disable_dividers">Desactivar divisores de publicación</string>
<string name="mo_relocate_publish_button">Mover o botón de publicar</string>
<string name="mo_personal_note">Engade unha nota para este perfil</string>
<string name="mo_update_ready">Moshidon %s foi descargada e lista para instalar.</string>
<string name="mo_no_image_desc">As imaxes incluídas non teñen descrición. Por favor, considera engadila para axudar ás persoas con dificultades visuais.</string>
</resources> </resources>

View File

@@ -1,4 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="mo_hide_compose_button_while_scrolling_setting">Verberg bericht knop tijdens scrollen</string>
<string name="mo_personal_note">Voeg een notitie toe over dit profiel</string>
<string name="mo_personal_note_confirm">Bevestig de wijzigingen aan de notitie</string>
<string name="mo_personal_note_update_failed">Notitie bewaren mislukt</string>
<string name="mo_settings_contribute">Bijdragen aan Moshidon</string>
<string name="mo_update_ready">Moshidon %s is gedownload en gereed voor installatie.</string>
<string name="mo_update_available">Moshidon %s staat gereed om te downloaden.</string>
<string name="mo_no_image_desc_title">Geen beschrijving bij afbeelding</string>
<string name="mo_emoji_recent">Recent gebruikt</string>
<string name="mo_poll_option_add">Voeg nieuwe peiling optie toe</string>
<string name="mo_sending_error">Fout bij plaatsen bericht</string>
<string name="mo_disable_dividers">Berichten scheidingslijn uitschakelen</string>
<string name="mo_relocate_publish_button">Verplaats publiceerknop</string>
<string name="mo_welcome_text">Om te beginnen vul je hieronder de domeinnaam in van de instance (server).</string>
<string name="mo_clear_recent_emoji">Wis recent gebruikte emoji</string>
<string name="mo_no_image_desc">De bijgesloten afbeeldingen hebben geen omschrijving. Overweeg deze alsnog toe te voegen, zodat ook mensen met een visuele handicap kunnen deelnemen.</string>
</resources> </resources>

View File

@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="mo_color_palette_nord">Nord</string>
<string name="mo_relocate_publish_button">Przenieś przycisk publikacji</string>
<string name="mo_hide_compose_button_while_scrolling_setting">Ukryj przycisk tworzenia podczas przewijania</string>
<string name="mo_personal_note">Dodaj notatkę do tego profilu</string>
<string name="mo_personal_note_confirm">Zatwierdź zmiany w notatce</string>
<string name="mo_personal_note_update_failed">Nie udało się zapisać notatki</string>
<string name="mo_update_available">Moshidon %s jest gotowy do pobrania.</string>
<string name="mo_update_ready">Moshidon %s jest już pobrany i gotowy do instalacji.</string>
<string name="mo_no_image_desc_title">Brak opisu obrazka</string>
<string name="mo_emoji_recent">Ostatnio używane</string>
<string name="mo_clear_recent_emoji">Wyczyść ostatnio używane emoji</string>
<string name="mo_poll_option_add">Dodaj nową opcję wyboru do ankiety</string>
<string name="mo_fab_compose">Stwórz</string>
<string name="mo_sending_error">Błąd przy publikowaniu</string>
<string name="mo_welcome_text">Aby rozpocząć, wpisz poniżej nazwę domeny swojej instancji.</string>
<string name="mo_settings_contribute">Wspomóż rozwój Moshidon</string>
<string name="mo_no_image_desc">Dołączone obrazy nie mają opisu. Proszę rozważyć dodanie opisów, aby umożliwić osobom niedowidzącym ich odczytanie.</string>
</resources> </resources>

View File

@@ -1,4 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="mo_color_palette_nord">Nord</string>
<string name="mo_disable_dividers">Desabilitar divisores de toots</string>
<string name="mo_relocate_publish_button">Relocalizar botão de postagem</string>
<string name="mo_hide_compose_button_while_scrolling_setting">Ocultar compositor ao rolar a tela</string>
<string name="mo_welcome_text">Para começar, por favor, digite abaixo o nome de domínio de sua instância de origem.</string>
<string name="mo_personal_note">Adicionar nota sobre este perfil</string>
<string name="mo_personal_note_confirm">Confirmar mudanças na nota</string>
<string name="mo_personal_note_update_failed">Falha em salvar nota</string>
<string name="mo_settings_contribute">Contribua para o Moshidon</string>
<string name="mo_update_available">Moshidon %s está pronto para baixar.</string>
<string name="mo_update_ready">Moshidon %s está baixado e pronto para instalar.</string>
<string name="mo_no_image_desc_title">Nenhuma descrição de imagem</string>
<string name="mo_no_image_desc">As imagens incluídas não possuem descrição. Por favor considere adicionar uma, para permitir que as pessoas visualmente deficientes participem.</string>
<string name="mo_emoji_recent">Usado recentemente</string>
<string name="mo_clear_recent_emoji">Limpar emojis usados recentemente</string>
<string name="mo_disable_relocate_publish_button_to_enable_customization">Desabilite Relocalizar botão de postagem para permitir modificações</string>
<string name="mo_fab_compose">Compor</string>
<string name="mo_sending_error">Erro ao publicar</string>
</resources> </resources>

View File

@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="mo_emoji_recent">最近使用</string>
<string name="mo_color_palette_nord">Nord</string>
<string name="mo_disable_dividers">禁用帖文分隔线</string>
<string name="mo_relocate_publish_button">重新定位发布按钮</string>
<string name="mo_hide_compose_button_while_scrolling_setting">滚动时隐藏撰写按钮</string>
<string name="mo_welcome_text">要开始使用,请在下面输入您的主实例的域名。</string>
<string name="mo_personal_note">添加关于此个人资料的备注</string>
<string name="mo_personal_note_confirm">确认更改备注</string>
<string name="mo_personal_note_update_failed">保存备注失败</string>
<string name="mo_settings_contribute">为Moshidon做出贡献</string>
<string name="mo_update_available">Moshidon %s 已准备好下载。</string>
<string name="mo_update_ready">Moshidon %s 已下载并准备安装。</string>
<string name="mo_no_image_desc_title">无图片描述</string>
<string name="mo_no_image_desc">包含的图像没有描述。请考虑添加描述,以便让视障人士参与。</string>
<string name="mo_clear_recent_emoji">清除最近使用的表情符号</string>
<string name="mo_disable_relocate_publish_button_to_enable_customization">禁用重新定位发布按钮以允许自定义</string>
<string name="mo_poll_option_add">添加新的投票选项</string>
<string name="mo_fab_compose">撰写</string>
<string name="mo_sending_error">发布帖文时出错</string>
</resources> </resources>

View File

@@ -22,6 +22,7 @@
<string name="mo_no_image_desc">The included images have no description. Please consider adding one, to allow visually impaired people to participate.</string> <string name="mo_no_image_desc">The included images have no description. Please consider adding one, to allow visually impaired people to participate.</string>
<string name="mo_emoji_recent">Recently used</string> <string name="mo_emoji_recent">Recently used</string>
<string name="mo_clear_recent_emoji">Clear recently used emoji</string> <string name="mo_clear_recent_emoji">Clear recently used emoji</string>
<string name="mo_filtered">Filtered: %s</string>
<string name="mo_disable_relocate_publish_button_to_enable_customization">Disable "Relocate publish button" to allow customization</string> <string name="mo_disable_relocate_publish_button_to_enable_customization">Disable "Relocate publish button" to allow customization</string>
<!-- accessibility labels--> <!-- accessibility labels-->

View File

@@ -1,4 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,5 +0,0 @@
- 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)

View File

@@ -1,11 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,10 +0,0 @@
- 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

View File

@@ -1,4 +0,0 @@
- Paratoi ffeiliau ar gyfer cyhoeddi ar F-Droid
- Atgyweirio diweddariad awtomatig
- Ychwanegu eiconau monocromatig yn ôl i eiconau lansiwr
- Amnewid yr eicon anghywir heb ei restru yn y troedyn estynedig

View File

@@ -1,6 +0,0 @@
- Gwneud hi'n bosibl agor y post gwreiddiol wrth ateb (trwy glicio ar y llinell “Wrth ateb…”)
- Cyfuno newidiadau i blaenorol ac atgyweiriadau nam
- Dileu cod “App Center” heb ei ddefnyddio
- Ychwanegu fersiwn heb ffrwd y ffederasiwn ar gyfer Play Store
- Ychwanegu URI ailgyfeirio dewisol ar gyfer mewngofnodi haws
- Newid dolen cyfrannu

View File

@@ -1,4 +0,0 @@
- Trwsio rendro tagiau HTML sydd wedi torri a galluogi rendro fformatio Markdown
- Rhoi llythyren flaen ar <a href="https://translate.codeberg.org/projects/megalodon">Prosiect cyfieithu Weblate</a>
- Ychwanegu togl ar gyfer ffrwd y ffederasiwn
- Roedd fersiynau 52-54 yn addasiadau bach ar gyfer fersiwn newydd ar Google Play

View File

@@ -1,6 +0,0 @@
- Themâu lliw personol gan @LucasGGamerM
- Logo testun "megalodon" newydd wedi'i gyflwyno gan @LucasGGamerM
- Gwell chwiliad emoji wrth gyfansoddi
- Pleidleisio wedi'i drywanu (dangoswch eich pleidlais eich hun, dangoswch y botwm pleidlais bob amser, peidiwch â thorri atebion hir)
- Ychwanegu gosodiad hysbysiad gwthio ar gyfer hysbysiadau post
- Trwsio namau

View File

@@ -1,6 +0,0 @@
- Ychwanegu dewisydd iaith
- Ychwanegu opsiwn cyfieithu
- Gwella semanteg ar gyfer pleidleisio ar arolygon (botymau radio a blychau ticio)
- Ychwanegu opsiwn i ganiatáu pleidleisio ar gyfer opsiynau lluosog ar arolygon barn
- Sgrin mewngofnodi newydd
- Trwsio namau

View File

@@ -1,5 +0,0 @@
- Themâu lliw newydd: Deunydd Chi a Choch
- Tonau llwyd tywyll newydd ar gyfer pob thema
- Eicon hwb mwy amlwg wedi'i lenwi
- Animeiddiadau ar gyfer botymau rhyngweithio
- Trwsio namau (Toriad ar rai postiadau, "Rhestrau gyda", iaith bostio ddiofyn)

View File

@@ -1,11 +0,0 @@
- Galluogi Addasu Botwm Cyhoeddi
- Agorwch ddolenni y Fydysawd yn yr app
- Clicio hir ar y botwm hybu i "ddyfynnu" post
- Copio URL post wrth wasgu'r botwm rhannu yn hir
- Gweithredu dileu hysbysiadau (wedii anablu yn ddiofyn)
- Eiconau pwrpasol ar gyfer gwahanol fathau o hysbysiadau
- Lliwiau llwyd newydd
- Ychwanegu gosodiad i analluogi sweipio rhwng tabiau
- Ychwanegu dolenni amrywiol i osodiadau cyfrif
- Togl i ddangos / cuddio'r botwm cyfieithu yn y ffrwd
- Trwsio namau a newidiadau bach

View File

@@ -1,6 +0,0 @@
- Opsiwn i hybu gyda gwelededd penodol gyda clic hir
- Dangos gwelededd hybiau eich hunan
- Ychwanegu rhestr o hashnodau wediu dilyn
- Clic hir i gopïo dolenni
- Opsiwn i agor postiadau gyda chyfrif arall
- Trwsio namau a newidiadau bach

View File

@@ -1,10 +0,0 @@
- Drafftio a amserlennu negeseuon
- Dangos post gwreiddiol wrth ateb
- Hidlwyr cydnaws Mastodon 4.0 (dim opsiwn "cuddio â rhybudd" eto)
- Clic hir i ryngweithio â negeseuon (ateb, hybu, licio, nodi tudalen) o gyfrifon eraill sydd wedi mewngofnodi
- Eiconau ym mhob dewislen
- Togl ar gyfer anfon adroddiadau ymlaen
- Ychwanegu sôn wrth ddefnyddio opsiwn "Post am hyn".
- Opsiwn i ddefnyddio eiconau unffurf yn lle eiconau gwahanol
- Mynediad at restr rheolau yn yr app o'r gosodiadau
- Trwsio namau

View File

@@ -1,10 +0,0 @@
- Tab cartref newydd gyda ffrwd cyhoeddus
- Arddangos cyhoeddiadau gweinydd
- Mae'r testun wedi'i raddio yn ôl gosodiadau'r system
- Gwell hidlo (na, nid yw "Cuddio gyda rhybudd" yn gweithio eto) gan @thiagojedi
- Rheoli rhestrau
- Tynnwch ddilynwyr trwy eu blocio'n feddal
- Gwrthod cysylltiadau â ffasgwyr
- Trwsio delweddau sy ddim yn llwytho pan fyddant wedi'u cysylltu ag gwinydd Akkoma
- Trwsio namau ac UI
- Ychwanegu rhestr newidiadau gan @LucasGGamerM

View File

@@ -1,15 +0,0 @@
<b>Mae Megalodon yn fersiwn wedi'i addasu o'r <href="https://github.com/mastodon/mastodon-android"> app swyddogol Mastodon Android </a> gan ychwanegu nodweddion pwysig sydd ar goll yn yr ap swyddogol, megis ffrwd y ffederasiwn, postio heb ei restru a gwyliwr disgrifiad delwedd.
Nodweddion allweddol
- <b> postio heb ei restru </b>: Postiwch yn gyhoeddus heb gael eich neges yn ymddangos mewn pynciau trendio, hashnodau neu ffrydiau cyhoeddus.
- <b>Ffrwd y ffederasiwn</b>: Gwelwch yr holl negeseuon cyhoeddus gan bobl ar bob gweinydd arall yn y fydysawd mae eich gweinydd cartref wedi'i gysylltu iddo.
- <b>Drafftiau a negeseuon wedi'u trefnu</b>: Yn caniatáu paratoi neges a'i threfnu i'w anfon yn awtomatig ar adeg benodol.
- <b>Disgrifiad o'r llun</b>: Gweld yn gyflym a oes gan ddelwedd neu fideo destun alt ynghlwm wrtho.
- <b>Pinio negeseuon</b>: Piniwch eich negeseuon pwysicaf i'ch proffil a gweld beth mae eraill wedi pinio gan ddefnyddio'r tab "Pinned".
- <b>Dilyn hashnodau</b>: Gweler negeseuon newydd gyda hashnodau penodol yn uniongyrchol yn eich llinell amser cartref trwy eu dilyn.
- <b>Ateb ceisiadau dilyn</b>: Derbyn neu wrthod ceisiadau dilyn yn eich hysbysiadau neu'r rhestr ceisiadau Dilyn pwrpasol.
- <b>Dileu ac ail-ddrafftio</b>: Y nodwedd boblogaidd a wnaeth olygu'n bosibl heb swyddogaeth olygu go iawn. <b>Dewis iaith</b>: Dewiswch iaith yn ddi-boen ar gyfer pob neges rydych chi'n ei gwneud felly mae hidlyddion a chyfieithu yn gweithio'n gywir.
- <b>Cyfieithu</b>: Cyfieithu negeseuon yn hawdd y tu mewn i Megalodon! Dim ond os yw'r nodwedd ar gael hefyd ar eich gweinydd Mastodon.
- <b>Dangosydd gwelededd neges</b>: Wrth agor neu ateb neges, bydd eicon defnyddiol sy'n nodi gwelededd y neges yn ymddangos.
- <b>Themâu lliw</b>: Oni ddylech chi hoffi'r lliw Pinc diofyn (mae'r siarc yn eich barnu'n dawel), mae themâu lliw Moshidon ar gael.

View File

@@ -1 +0,0 @@
Mastodon ar gyfer Android ond mae'n binc ac mae ganddo fwy o nodweddion

View File

@@ -1 +0,0 @@
Megalodon

View File

@@ -0,0 +1,6 @@
Neue Dinge für die Version Nummer 88:
- Ein verbessertes Fab-Verhalten
- Bessere Behandlung von Bildbeschreibungen
- Aktivieren des lokalen Postings für Instanzen, die es unterstützen
- Behebung einiger Abstürze
- Kleinere Verbesserungen

View File

@@ -0,0 +1 @@
Version 89 behebt Fehler beim Speichern von Einstellungen und verbessert die Stabilität.

View File

@@ -0,0 +1 @@
Release 89 is a bug fix release, so a few crashes have been fixed as well as a few settings not being saved.

View File

@@ -0,0 +1,3 @@
New things for release 90:
- The ability to have filtered posts show with a warning
- Minor bugfixes

View File

@@ -1 +1 @@
¡Se añade una opción para mover el botón de publicación a una posición más cómoda! Ahora es la opción por defecto. ¡Se añade una opción para mover el botón de publicación a una posición más cómoda! Ahora es la opción por defecto!

View File

@@ -1,2 +1,2 @@
Se arregla un problema con el botón de publicación, que aparecía cortado en pantallas con resoluciones bajas o con textos largos. Ahora es un icono cuando se coloca en la parte de abajo. Se arregla un problema con el botón de publicación, que aparecía cortado en pantallas con resoluciones bajas o con textos largos. ¡Ahora es un icono cuando se coloca en la parte de abajo!
Pequeños arreglos a la visualización de cambios de versión. Pequeños arreglos a la visualización de cambios de versión

View File

@@ -12,4 +12,4 @@ Moshidon es una versión modificada de <a href="https://github.com/mastodon/mast
-<b>Seguir hashtags</b>: Sigue hashtags para ver las nuevas publicaciones de hashtags específicos directamente en tu cronología. -<b>Seguir hashtags</b>: Sigue hashtags para ver las nuevas publicaciones de hashtags específicos directamente en tu cronología.
-<b>Peticiones de seguimiento</b>: Acepta o rechaza peticiones de seguimiento desde las notificaciones o la lista dedicada. -<b>Peticiones de seguimiento</b>: Acepta o rechaza peticiones de seguimiento desde las notificaciones o la lista dedicada.
-<b>Borrar y reescribir</b>: La característica más buscada, que te permite editar. -<b>Borrar y reescribir</b>: La característica más buscada, que te permite editar.
-<b>Extras</b>: Incluye varios extras en la interfaz, como iconos específicos en las notificaciones o corrección de molestias de la interfaz original. -<b>Extras</b>: Incluye varios extras en la interfaz, como iconos específicos en las notificaciones o corrección de molestias de la interfaz original!

View File

@@ -1,9 +0,0 @@
- Las líneas de tiempo se pueden fijar y reorganizar
- Compatible con publicaciones locales
- Indicador de textos alternativos ausentes
- Editor de textos alternativos mejorado
- Cabecera en la línea de tiempo para los hashtags seguidos
- Más categorías de notificaciones
- Volver a abrir archivos
- Aviso al guardar un borrador editado
- Opción para desactivar el botón "Ver nuevas publicaciones

View File

@@ -0,0 +1 @@
Eliminación dos divisores de toots na cronoloxía principal! Isto tamén é configurábel.

View File

@@ -0,0 +1 @@
Engadindo un botón de doazón!

View File

@@ -0,0 +1 @@
Mastodon para Android pero é Material You e ten máis ferramentas

1
metadata/gl-ES/title.txt Normal file
View File

@@ -0,0 +1 @@
Moshidon

View File

@@ -1,9 +0,0 @@
- Lini masa dapat disemat dan diurut ulang
- Dukungan kiriman hanya lokal
- Penanda untuk teks alternatif yang tidak ada
- Ditingkatkan penyunting teks alternatif
- Tajuk di lini masa untuk tagar yang diikuti
- Kategori notifikasi lebih banyak
- Ditambahkan kembali pembuka berkas
- Perintah ketika menyimpan draf yang disunting
- Opsi untuk menonaktifkan tombol “Lihat kiriman baru”

View File

@@ -1,4 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,4 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,5 +0,0 @@
- 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)

View File

@@ -1,11 +0,0 @@
- 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

View File

@@ -1,6 +0,0 @@
- 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

View File

@@ -1,10 +0,0 @@
- 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

View File

@@ -1,16 +0,0 @@
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.

View File

@@ -1 +0,0 @@
Mastodon per Android, ma rosa e con più funzioni

View File

@@ -1 +0,0 @@
Megalodon

View File

@@ -1,8 +0,0 @@
- 초안 및 예약 게시물
- @thiagojedi 님이 제공한 마스토돈 4.0과 호환되는 필터
- 길게 눌러서 로그인한 다른 계정으로 게시물에 반응 (답글, 부스트, 좋아요, 북마크)
- 모든 메뉴에 아이콘 표시
- "언급하여 게시" 기능으로 멘션을 추가
- 알림 아이콘을 모두 같은 아이콘 혹은 서로 다른 아이콘으로 설정하는 옵션 제공
- 설정에서 앱으로 규칙 목록을 확인할 수 있는 옵션 제공
- 버그 수정

View File

@@ -1,10 +0,0 @@
- 초안 작성 및 예약 게시
- 답글을 달면서 원본 게시물 확인
- 마스토돈 4.0 호환 필터 ("경고와 함께 숨기기" 기능은 아직입니다)
- 길게 눌러 로그인한 다른 계정으로 게시물에 반응 (답글, 부스트, 좋아요, 보관)
- 모든 메뉴에 아이콘 표시
- 신고 전달 여부 선택
- "언급하여 게시" 기능으로 게시물에 대해 언급
- 모든 알림에 대해 같은 아이콘을 사용하는 대신 각각 다른 아이콘을 사용할 수 있는 옵션
- 설정 메뉴에서 앱을 벗어나지 않고 규칙을 확인할 수 있는 옵션
- 버그 수정

View File

@@ -1 +0,0 @@
ပန်းရောင်ရှိပြီး feature လည်းပိုစုံတဲ့ Android အတွက် Mastodon

View File

@@ -1 +0,0 @@
Megalodon

View File

@@ -1 +1 @@
Mastodon voor Android, maar het is roze en heeft meer functies Mastodon voor Android, maar met Material You en meer mogelijkheden

View File

@@ -1 +1 @@
Megalodon Moshidon

View File

@@ -0,0 +1 @@
Mastodon na Android ale ma więcej funkcji i jest w stylu Material You

1
metadata/pl-PL/title.txt Normal file
View File

@@ -0,0 +1 @@
Moshidon

View File

@@ -1,4 +0,0 @@
- Przygotowano pliki pod publikację na F-Droid
- Naprawiono automatyczną aktualizację
- Dodano monochromatyczne ikony z powrotem do launchera
- Poprawiono nieodpowiednią ikonę ukrytego postu w rozszerzonej stopce

View File

@@ -1,6 +0,0 @@
- Dodano możliwość otwarcia oryginalnego wpisu podczas odpowiadania
- Scalono zmiany i naprawy błędów
- Usunięto nieużywany kod "App Center"
- Dodano publikację aplikacji bez widoku federacji dla Play Store
- Dodano customowy URL przekierowujący aby ułatwić logowanie
- Zmieniono link do kontrybucji

View File

@@ -1,4 +0,0 @@
- Naprawiono zepsuty rendering tagów HTML i dodano renderowanie formatowania Markdown
- Rozpoczęto <a href="https://translate.codeberg.org/projects/megalodon">projekt translacji Weblate</a>
- Dodano wyłącznik federacyjnej osi czasu
- Małe poprawki pod publikację na Google Play

View File

@@ -1,6 +0,0 @@
- Nowe motywy kolorystyczne od @LucasGGamerM
- Nowe logo "megalodon" od @LucasGGamerM
- Lepsza wyszukiwarka emoji
- Ulepszono głosowanie (wyświetl własny głos, zawsze wyświetlaj przycisk głosowania, nie skracaj długich odpowiedzi)
- Dodano ustawienia notyfikacji push
- Poprawki błędów

View File

@@ -1,6 +0,0 @@
- Dodano selektor języków
- Dodano funkcję tłumacza
- Poprawiono semantykę głosowania w ankietach (przyciski radiowe i pola wyboru)
- Dodano opcję pozwalającą na głosowanie na wiele opcji w ankietach
- Nowy ekran logowania
- Poprawki błędów

View File

@@ -1,5 +0,0 @@
- Nowe tematy kolorystyczne: Material You i Czerwony
- Nowe ciemnoszare odcienie dla wszystkich motywów
- Bardziej wyrazista, wypełniona ikona reblogowania
- Animacje dla przycisków interakcji
- Poprawki błędów (Crash na niektórych postach, "Listy z", domyślny język wpisów)

View File

@@ -1,11 +0,0 @@
- Edytowalny przycisk publikacji
- Otwieranie linków Fediverse w aplikacji
- Długie kliknięcie przycisku reblogowania "cytuje" wpis
- Kopiowanie adresu URL postu po długim naciśnięciu przycisku udostępniania
- Dodano usuwania powiadomień (domyślnie wyłączone)
- Dedykowane ikony dla wszystkich rodzajów powiadomień
- Nowe kolory szarości
- Dodano ustawienia wyłączające "swipowanie" między zakładkami
- Dodano różne linki do ustawień konta
- Przełącznik pokazujący/ukrywający przycisk tłumaczenia na osi czasu
- Poprawki błędów

View File

@@ -1,6 +0,0 @@
- Opcja reblogowania z określoną widocznością po "długim kliknięciu"
- Pokaż widoczność własnych reblogów
- Dodaj listę śledzonych hashtagów
- Kopiowanie linków po długim kliknięciu
- Opcja otwierania postów innym kontem
- Poprawki błędów

View File

@@ -1,10 +0,0 @@
- Wersje robocze i planowanie postów
- Wyświetlanie oryginalnego postu podczas odpowiadania
- Filtry zgodne z Mastodon 4.0 (nie ma jeszcze funkcji "ukryj z ostrzeżeniem")
- Długie kliknięcie w celu interakcji z postami (odpowiedź, reblog, polubienie, zakładka) innym zalogowanym kontem
- Ikony we wszystkich menu
- Przełącznik do forwardowania raportów
- Dodawanie wzmianki przy użyciu funkcji "Post o tym"
- Opcja używania jednolitej ikony powiadomień zamiast odrębnych ikon
- Opcja dostępu do listy reguł w aplikacji z poziomu ustawień
- Poprawki błędów

View File

@@ -1,10 +0,0 @@
- Nowa zakładka główna z publicznymi liniami czasu
- Wyświetlanie ogłoszeń serwera
- Tekst jest teraz skalowany zgodnie z ustawieniami systemu
- Poprawione filtrowanie (nie, "Ukryj z ostrzeżeniem" jeszcze nie działa) dzięki @thiagojedi
- Funkcje zarządzania listami
- Usuwanie obserwatorów poprzez soft-blokowanie ich
- Zablokowano połączenia z faszystami
- Naprawiono nie ładujące się obrazki po podłączeniu do instancji Akkoma
- Poprawki błędów i ulepszenia UI
- Dodano changelog do aktualizatora dzięki@LucasGGamerM

View File

@@ -1,9 +0,0 @@
- Osie czasu można przypinać i zmieniać ich kolejność
- Obsługa publikacji w trybie lokalnym
- Wskaźnik brakujących opisów obrazków
- Ulepszony edytor opisu obrazków
- Nagłówek na osi czasu dla śledzonych hashtagów
- Więcej kategorii powiadomień
- Ponownie dodano otwieracz plików
- Monit przy zapisywaniu edytowanej wersji roboczej
- Opcja wyłączenia przycisku "Zobacz nowe wpisy"

View File

@@ -1,16 +0,0 @@
Megalodon jest zmodyfikowaną wersją <a href="https://github.com/mastodon/mastodon-android">oficjalnej aplikacji Mastodon Android</a>, która dodaje brakujące w niej funkcje, takie jak federacyjna oś czasu, publikowanie w trybie ukrytym, a także wyświetlanie opisów obrazków.
<b>Główne funkcje</b>
- <b>Publikowanie w trybie ukrytym</b>: Publikuj publicznie, równocześnie zapobiegając wyświetlaniu się twojego wpisu w trendach, hashtagach oraz publicznych osiach czasu.
- <b>Federacyjna oś czasu</b>: Zobacz wszystkie wpisy publiczne na innych instancjach w Fediwersum do których podłączona jest twoja własna instancja.
- <b>Wersje robocze i planowanie czasu publikacji</b>: Przygotuj wpis i zaplanuj jego publikację o określonym czasie.
- <b>Sprawdzanie opisu obrazu</b>: Szybko sprawdź czy obrazek bądź wideo mają przypisany opis.
- <b>Przypinanie wpisów</b>: Przypnij najważniejsze wpisy do swojego profilu i zobacz co przypięli inni do swoich w zakładce "Przypięte".
- <b>Obserwuj hashtagi</b>:Zobacz nowe wpisy z konkretnych hashtagów bezpośrednio w swojej głównej osi czasu.
- <b>Zarządzanie prośbami o obserwację</b>: Akceptuj bądź odmawiaj na prośby o obserwację twojego konta bezpośrednio w widoku notyfikacji bądź w dedykowanej liście.
- <b>Usuń wpis i utwórz kopię roboczą</b>: Powszechnie uwielbiana funkcja która zezwoliła na edytowanie wpisów bez istnienia dedykowanej funkcji edycji.
- <b>Selektor języka</b>: Łatwo wybieraj język dla każdego swojego postu aby filtry i funkcja translacji działała poprawnie.
- <b>Translacja</b>: Wygodnie sprawdzaj tłumaczenia postów bezpośrednio w Megalodonie! Funkcja zadziała tylko, jeśli translacja jest dostępna również w twoim Mastodon Web.
- <b>Indykator widoczności wpisu</b>: Po otwarciu wpisu bądź podczas odpowiadania na niego wyświetlona zostanie przydatna ikona informująca o jego widoczności.
- <b>Motywy kolorystyczne</b>: Jeśli nie podoba ci się domyślny różowy motyw (i chcesz rozczarować rekina), możesz wybrać inny kolor z listy.

View File

@@ -1,10 +0,0 @@
- Rascunhos e postagens agendadas
- Exibe postagem original ao responder
- Filtros compatíveis com Mastodon 4.0 (ainda sem a função "ocultar com aviso")
- Clique longo para interagir com posts (responder, aumentar, curtir, marcar) de outras contas conectadas
- Ícones em todos os menus
- Alternar para encaminhar relatórios
- Adicionada menção na função "Postar sobre isso"
- Opção para usar ícones de notificações uniforme
- Opção para acessar a lista de regras nas configurações
- Correção de bugs

View File

@@ -1,10 +0,0 @@
- Nova guia inicial com as timelines
- Exibir anúncios do servidor
- O texto é dimensionado de acordo com as configurações do sistema
- Filtragem aprimorada ("Ocultar com aviso" ainda não funciona) por @thiagojedi
- Recursos de gerenciamento de listas
- Remova seguidores bloqueando-os
- Conexões com fascistas foi proibida
- Correção de imagens que não carregam quando conectadas à instância Akkoma
- Correções de bugs e ajustes de interface
- Adicionada changelog ao atualizador por @LucasGGamerM

View File

@@ -0,0 +1,9 @@
- Tidslinjer kan fästas och ordnas om
- Stöd endast-lokala inlägg
- Indikator för saknade alt-texter
- Förbättrad alt-textredigerare
- Rubrik i tidslinjen för följda hashtags
- Fler meddelandekategorier
- Lägg tillbaka filöppnare
- Fråga när du sparar redigerat utkast
- Alternativ för att inaktivera knappen "Se nya inlägg"

View File

@@ -0,0 +1 @@
Lägger nu till en valfri växel för att få publiceringsknappen till en mer nåbar position! Det är standard nu!

View File

@@ -0,0 +1,2 @@
Åtgärdar publiceringsknappen som klipps bort på låga DPI:er eller på längre språk. Det är nu en ikon när den är nåbar!
Mindre korrigeringar av förhandsgranskningen av ändringsloggen

View File

@@ -0,0 +1,9 @@
Release 82 lägger till många funktioner från uppströms, till exempel:
- Utkast och schemalagda inlägg
- En omarbetning av en inställningssida
- Möjligheten att välja publiceringsknappens text
- Möjligheten att minska animationer
- En botikon för botkontoprofiler! Tack @FineFindus
- Och uppdaterad tysk översättning! Tack @dantobi
- Många mindre UI-förbättringar
- Stora användbarhetsförbättringar, som möjligheten att hålla åtgärdsknappar för att interagera med ett annat konto

View File

@@ -0,0 +1,4 @@
Release 83 ger några mindre förbättringar, såsom:
- Åtgärda kraschproblem när du klickar på omnämnanden
- Omarbetar botikonen
- Att lägga till en påminnelse om att lägga till en bildbeskrivning om du lägger upp en bilaga gör att synskadade kan delta bättre. Tack @FineFindus!

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