mirror of
https://github.com/KokaKiwi/BarInsta
synced 2026-03-04 03:21:36 +00:00
Merge remote-tracking branch 'origin/new-posts-grid' into new-posts-grid
This commit is contained in:
commit
3393166b51
30 changed files with 137 additions and 444 deletions
|
|
@ -82,4 +82,8 @@ dependencies {
|
|||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
|
||||
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.7.0'
|
||||
|
||||
// temporary
|
||||
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.10'
|
||||
implementation 'org.jetbrains:annotations:13.0'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,10 +142,12 @@ public final class CommentsAdapter extends ListAdapter<CommentModel, RecyclerVie
|
|||
flatList.add(parent);
|
||||
positionTypeMap.put(lastCommentIndex, TYPE_PARENT);
|
||||
final List<CommentModel> children = parent.getChildCommentModels();
|
||||
for (final CommentModel child : children) {
|
||||
lastCommentIndex++;
|
||||
flatList.add(child);
|
||||
positionTypeMap.put(lastCommentIndex, TYPE_CHILD);
|
||||
if (children != null) {
|
||||
for (final CommentModel child : children) {
|
||||
lastCommentIndex++;
|
||||
flatList.add(child);
|
||||
positionTypeMap.put(lastCommentIndex, TYPE_CHILD);
|
||||
}
|
||||
}
|
||||
}
|
||||
return flatList;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package awais.instagrabber.adapters.viewholder.comments;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
|
@ -77,6 +79,7 @@ public final class ChildCommentViewHolder extends RecyclerView.ViewHolder {
|
|||
if (profileModel == null) return;
|
||||
binding.tvUsername.setText(profileModel.getUsername());
|
||||
binding.ivProfilePic.setImageURI(profileModel.getSdProfilePic());
|
||||
binding.isVerified.setVisibility(profileModel.isVerified() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void setLikes(final int likes) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package awais.instagrabber.adapters.viewholder.comments;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
|
@ -77,6 +79,7 @@ public final class ParentCommentViewHolder extends RecyclerView.ViewHolder {
|
|||
if (profileModel == null) return;
|
||||
binding.tvUsername.setText(profileModel.getUsername());
|
||||
binding.ivProfilePic.setImageURI(profileModel.getSdProfilePic());
|
||||
binding.isVerified.setVisibility(profileModel.isVerified() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void setLikes(final int likes) {
|
||||
|
|
|
|||
|
|
@ -269,8 +269,8 @@ public final class CommentsFetcher extends AsyncTask<Void, Void, List<CommentMod
|
|||
}
|
||||
childCommentModels.get(childCommentsLen - 1).setPageCursor(hasNextPage, childEndCursor);
|
||||
commentModel.setChildCommentModels(childCommentModels);
|
||||
commentModels.add(commentModel);
|
||||
}
|
||||
commentModels.add(commentModel);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,340 +0,0 @@
|
|||
// package awais.instagrabber.fragments;
|
||||
//
|
||||
// import android.content.Context;
|
||||
// import android.content.DialogInterface;
|
||||
// import android.content.pm.PackageManager;
|
||||
// import android.os.AsyncTask;
|
||||
// import android.os.Bundle;
|
||||
// import android.util.Log;
|
||||
// import android.view.LayoutInflater;
|
||||
// import android.view.View;
|
||||
// import android.view.ViewGroup;
|
||||
//
|
||||
// import androidx.annotation.NonNull;
|
||||
// import androidx.annotation.Nullable;
|
||||
// import androidx.appcompat.app.AlertDialog;
|
||||
// import androidx.fragment.app.Fragment;
|
||||
// import androidx.fragment.app.FragmentActivity;
|
||||
// import androidx.lifecycle.ViewModelProvider;
|
||||
// import androidx.navigation.NavDirections;
|
||||
// import androidx.navigation.fragment.NavHostFragment;
|
||||
// import androidx.viewpager2.widget.ViewPager2;
|
||||
//
|
||||
// import java.util.ArrayList;
|
||||
// import java.util.Arrays;
|
||||
// import java.util.Collections;
|
||||
// import java.util.List;
|
||||
//
|
||||
// import awais.instagrabber.R;
|
||||
// import awais.instagrabber.adapters.PostViewAdapter;
|
||||
// import awais.instagrabber.adapters.PostViewAdapter.OnPostViewChildViewClickListener;
|
||||
// import awais.instagrabber.asyncs.PostFetcher;
|
||||
// import awais.instagrabber.asyncs.i.iPostFetcher;
|
||||
// import awais.instagrabber.databinding.FragmentPostViewBinding;
|
||||
// import awais.instagrabber.interfaces.FetchListener;
|
||||
// import awais.instagrabber.interfaces.MentionClickListener;
|
||||
// import awais.instagrabber.models.FeedModel;
|
||||
// import awais.instagrabber.models.ViewerPostModel;
|
||||
// import awais.instagrabber.models.ViewerPostModelWrapper;
|
||||
// import awais.instagrabber.models.enums.DownloadMethod;
|
||||
// import awais.instagrabber.utils.Constants;
|
||||
// import awais.instagrabber.utils.CookieUtils;
|
||||
// import awais.instagrabber.utils.DownloadUtils;
|
||||
// import awais.instagrabber.utils.Utils;
|
||||
// import awais.instagrabber.viewmodels.ViewerPostViewModel;
|
||||
// import awais.instagrabber.webservices.MediaService;
|
||||
// import awais.instagrabber.webservices.ServiceCallback;
|
||||
//
|
||||
// import static androidx.core.content.ContextCompat.checkSelfPermission;
|
||||
// import static awais.instagrabber.utils.Utils.settingsHelper;
|
||||
//
|
||||
// public class PostViewFragment extends Fragment {
|
||||
// private static final String TAG = "PostViewFragment";
|
||||
// private static final String COOKIE = settingsHelper.getString(Constants.COOKIE);
|
||||
//
|
||||
// private FragmentActivity fragmentActivity;
|
||||
// private FragmentPostViewBinding binding;
|
||||
// private ViewPager2 root;
|
||||
// private boolean shouldRefresh = true;
|
||||
// private ViewerPostViewModel viewerPostViewModel;
|
||||
// private boolean isId;
|
||||
// private int currentPostIndex;
|
||||
// private List<String> idOrCodeList;
|
||||
// private boolean hasInitialResult = false;
|
||||
// private PostViewAdapter adapter;
|
||||
// private boolean session;
|
||||
// private MediaService mediaService;
|
||||
//
|
||||
// private FetchListener<FeedModel> pfl = result -> {
|
||||
// if (result == null) return;
|
||||
// final List<ViewerPostModelWrapper> viewerPostModels = viewerPostViewModel.getList().getValue();
|
||||
// final List<ViewerPostModelWrapper> temp = viewerPostModels == null ? new ArrayList<>(idOrCodeList.size())
|
||||
// : new ArrayList<>(viewerPostModels);
|
||||
// String idOrCode = isId ? result.getPostId() : result.getShortCode();
|
||||
// if (idOrCode == null) return;
|
||||
// if (isId) {
|
||||
// // the post id is appended with `_` in the result
|
||||
// idOrCode = idOrCode.substring(0, idOrCode.indexOf('_'));
|
||||
// }
|
||||
// final int index = idOrCodeList.indexOf(idOrCode);
|
||||
// if (index < 0) return;
|
||||
// final ViewerPostModelWrapper viewerPostModelWrapper = temp.get(index);
|
||||
// viewerPostModelWrapper.setViewerPostModels(result.getSliderItems() == null ? Collections.emptyList() : result.getSliderItems());
|
||||
// temp.set(index, viewerPostModelWrapper);
|
||||
// viewerPostViewModel.getList().setValue(temp);
|
||||
// adapter.notifyItemChanged(index);
|
||||
// if (!hasInitialResult) {
|
||||
// Log.d(TAG, "setting delayed position to: " + currentPostIndex);
|
||||
// binding.getRoot()
|
||||
// .postDelayed(() -> binding.getRoot().setCurrentItem(currentPostIndex), 200);
|
||||
// }
|
||||
// hasInitialResult = true;
|
||||
// };
|
||||
// private MentionClickListener mentionListener = (view, text, isHashtag, isLocation) -> {
|
||||
// if (isHashtag) {
|
||||
// final NavDirections action = PostViewFragmentDirections
|
||||
// .actionGlobalHashTagFragment(text);
|
||||
// NavHostFragment.findNavController(this).navigate(action);
|
||||
// return;
|
||||
// }
|
||||
// if (isLocation) {
|
||||
// final NavDirections action = PostViewFragmentDirections
|
||||
// .actionGlobalLocationFragment(text);
|
||||
// NavHostFragment.findNavController(this).navigate(action);
|
||||
// return;
|
||||
// }
|
||||
// final NavDirections action = PostViewFragmentDirections
|
||||
// .actionGlobalProfileFragment("@" + text);
|
||||
// NavHostFragment.findNavController(this).navigate(action);
|
||||
// };
|
||||
// private OnPostViewChildViewClickListener clickListener = (v, wrapper, postPosition, childPosition) -> {
|
||||
// final ViewerPostModel postModel = wrapper.getViewerPostModels().get(0);
|
||||
// final String username = postModel.getProfileModel().getUsername();
|
||||
// final int id = v.getId();
|
||||
// switch (id) {
|
||||
// case R.id.viewerCaption:
|
||||
// break;
|
||||
// case R.id.btnComments:
|
||||
// String postId = postModel.getPostId();
|
||||
// if (postId.contains("_")) postId = postId.substring(0, postId.indexOf("_"));
|
||||
// final NavDirections commentsAction = PostViewFragmentDirections.actionGlobalCommentsViewerFragment(
|
||||
// postModel.getShortCode(),
|
||||
// postId,
|
||||
// postModel.getProfileModel().getId()
|
||||
// );
|
||||
// NavHostFragment.findNavController(this).navigate(commentsAction);
|
||||
// break;
|
||||
// case R.id.btnDownload:
|
||||
// final Context context = getContext();
|
||||
// if (context == null) return;
|
||||
// if (checkSelfPermission(context,
|
||||
// DownloadUtils.PERMS[0]) == PackageManager.PERMISSION_GRANTED) {
|
||||
// showDownloadDialog(wrapper.getViewerPostModels(),
|
||||
// childPosition,
|
||||
// username);
|
||||
// return;
|
||||
// }
|
||||
// requestPermissions(DownloadUtils.PERMS, 8020);
|
||||
// break;
|
||||
// case R.id.ivProfilePic:
|
||||
// case R.id.title:
|
||||
// mentionListener.onClick(null, username, false, false);
|
||||
// break;
|
||||
// case R.id.btnLike:
|
||||
// if (mediaService != null) {
|
||||
// final String userId = CookieUtils.getUserIdFromCookie(COOKIE);
|
||||
// final String csrfToken = CookieUtils.getCsrfTokenFromCookie(COOKIE);
|
||||
// v.setEnabled(false);
|
||||
// final ServiceCallback<Boolean> likeCallback = new ServiceCallback<Boolean>() {
|
||||
// @Override
|
||||
// public void onSuccess(final Boolean result) {
|
||||
// v.setEnabled(true);
|
||||
// if (result) {
|
||||
// postModel.setManualLike(!postModel.getLike());
|
||||
// adapter.notifyItemChanged(postPosition);
|
||||
// return;
|
||||
// }
|
||||
// Log.e(TAG, "like/unlike unsuccessful!");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFailure(final Throwable t) {
|
||||
// v.setEnabled(true);
|
||||
// Log.e(TAG, "Error during like/unlike", t);
|
||||
// }
|
||||
// };
|
||||
// if (!postModel.getLike()) {
|
||||
// mediaService.like(postModel.getPostId(), userId, csrfToken, likeCallback);
|
||||
// } else {
|
||||
// mediaService.unlike(postModel.getPostId(), userId, csrfToken, likeCallback);
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// case R.id.btnBookmark:
|
||||
// if (mediaService != null) {
|
||||
// final String userId = CookieUtils.getUserIdFromCookie(COOKIE);
|
||||
// final String csrfToken = CookieUtils.getCsrfTokenFromCookie(COOKIE);
|
||||
// v.setEnabled(false);
|
||||
// final ServiceCallback<Boolean> saveCallback = new ServiceCallback<Boolean>() {
|
||||
// @Override
|
||||
// public void onSuccess(final Boolean result) {
|
||||
// v.setEnabled(true);
|
||||
// if (result) {
|
||||
// // postModel.setBookmarked(!postModel.isSaved());
|
||||
// adapter.notifyItemChanged(postPosition);
|
||||
// return;
|
||||
// }
|
||||
// Log.e(TAG, "save/unsave unsuccessful!");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFailure(final Throwable t) {
|
||||
// v.setEnabled(true);
|
||||
// Log.e(TAG, "Error during save/unsave", t);
|
||||
// }
|
||||
// };
|
||||
// if (!postModel.isSaved()) {
|
||||
// mediaService.save(postModel.getPostId(), userId, csrfToken, saveCallback);
|
||||
// } else {
|
||||
// mediaService.unsave(postModel.getPostId(), userId, csrfToken, saveCallback);
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// };
|
||||
// private PostViewAdapter.OnPostCaptionLongClickListener captionLongClickListener = text -> {
|
||||
// final Context context = getContext();
|
||||
// if (context == null) return;
|
||||
// Utils.copyText(context, text);
|
||||
// };
|
||||
//
|
||||
// @Override
|
||||
// public void onCreate(@Nullable final Bundle savedInstanceState) {
|
||||
// super.onCreate(savedInstanceState);
|
||||
// fragmentActivity = getActivity();
|
||||
// mediaService = MediaService.getInstance();
|
||||
// }
|
||||
//
|
||||
// @Nullable
|
||||
// @Override
|
||||
// public View onCreateView(@NonNull final LayoutInflater inflater,
|
||||
// @Nullable final ViewGroup container,
|
||||
// @Nullable final Bundle savedInstanceState) {
|
||||
// if (root != null) {
|
||||
// shouldRefresh = false;
|
||||
// return root;
|
||||
// }
|
||||
// binding = FragmentPostViewBinding.inflate(inflater, container, false);
|
||||
// root = binding.getRoot();
|
||||
// setupViewPager();
|
||||
// return root;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onViewCreated(@NonNull final View view, @Nullable final Bundle savedInstanceState) {
|
||||
// if (!shouldRefresh) return;
|
||||
// init();
|
||||
// shouldRefresh = false;
|
||||
// }
|
||||
//
|
||||
// private void setupViewPager() {
|
||||
// viewerPostViewModel = new ViewModelProvider(fragmentActivity)
|
||||
// .get(ViewerPostViewModel.class);
|
||||
// adapter = new PostViewAdapter(clickListener, captionLongClickListener, mentionListener);
|
||||
// root.setAdapter(adapter);
|
||||
// root.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
//
|
||||
// @Override
|
||||
// public void onPageSelected(final int position) {
|
||||
// // Log.d(TAG, "onPageSelected: " + position + ", hasInitialResult: " + hasInitialResult);
|
||||
// if (!hasInitialResult) {
|
||||
// return;
|
||||
// }
|
||||
// currentPostIndex = position;
|
||||
// fetchPost();
|
||||
// }
|
||||
// });
|
||||
// viewerPostViewModel.getList().observe(fragmentActivity, list -> adapter.submitList(list));
|
||||
// }
|
||||
//
|
||||
// private void init() {
|
||||
// if (getArguments() == null) return;
|
||||
// final PostViewFragmentArgs fragmentArgs = PostViewFragmentArgs.fromBundle(getArguments());
|
||||
// final String[] idOrCodeArray = fragmentArgs.getIdOrCodeArray();
|
||||
// if (idOrCodeArray.length == 0) return;
|
||||
// currentPostIndex = fragmentArgs.getIndex();
|
||||
// if (currentPostIndex < 0) return;
|
||||
// if (currentPostIndex >= idOrCodeArray.length) return;
|
||||
// idOrCodeList = Arrays.asList(idOrCodeArray);
|
||||
// viewerPostViewModel.getList().setValue(createPlaceholderModels(idOrCodeArray.length));
|
||||
// isId = fragmentArgs.getIsId();
|
||||
// fetchPost();
|
||||
// }
|
||||
//
|
||||
// private List<ViewerPostModelWrapper> createPlaceholderModels(final int size) {
|
||||
// final List<ViewerPostModelWrapper> viewerPostModels = new ArrayList<>(size);
|
||||
// for (int i = 0; i < size; i++) {
|
||||
// // viewerPostModels.add(new ViewerPostModel[]{ViewerPostModel.getDefaultModel(-i, "")});
|
||||
// viewerPostModels.add(new ViewerPostModelWrapper(i, null));
|
||||
// }
|
||||
// return viewerPostModels;
|
||||
// }
|
||||
//
|
||||
// private void fetchPost() {
|
||||
// // Log.d(TAG, "fetchPost, currentPostIndex: " + currentPostIndex);
|
||||
// final List<ViewerPostModelWrapper> list = viewerPostViewModel.getList().getValue();
|
||||
// if (list != null) {
|
||||
// final ViewerPostModelWrapper viewerPostModels = list.get(currentPostIndex);
|
||||
// if (viewerPostModels != null && viewerPostModels
|
||||
// .getViewerPostModels() != null && viewerPostModels
|
||||
// .getViewerPostModels().size() > 0) {
|
||||
// Log.d(TAG, "returning without fetching");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// if (currentPostIndex >= idOrCodeList.size() || currentPostIndex < 0) return;
|
||||
// final String idOrShortCode = idOrCodeList.get(currentPostIndex);
|
||||
// if (isId) {
|
||||
// new iPostFetcher(idOrShortCode, pfl).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
// return;
|
||||
// }
|
||||
// new PostFetcher(idOrShortCode, pfl).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
// }
|
||||
//
|
||||
// private void showDownloadDialog(final List<ViewerPostModel> postModels,
|
||||
// final int childPosition,
|
||||
// final String username) {
|
||||
// final List<ViewerPostModel> postModelsToDownload = new ArrayList<>();
|
||||
// final Context context = getContext();
|
||||
// if (context == null) return;
|
||||
// if (!session && postModels.size() > 1) {
|
||||
// final DialogInterface.OnClickListener clickListener = (dialog, which) -> {
|
||||
// if (which == DialogInterface.BUTTON_NEGATIVE) {
|
||||
// postModelsToDownload.addAll(postModels);
|
||||
// } else if (which == DialogInterface.BUTTON_POSITIVE) {
|
||||
// postModelsToDownload.add(postModels.get(childPosition));
|
||||
// } else {
|
||||
// session = true;
|
||||
// postModelsToDownload.add(postModels.get(childPosition));
|
||||
// }
|
||||
// if (postModelsToDownload.size() > 0) {
|
||||
// DownloadUtils.batchDownload(context,
|
||||
// username,
|
||||
// DownloadMethod.DOWNLOAD_POST_VIEWER,
|
||||
// postModelsToDownload);
|
||||
// }
|
||||
// };
|
||||
// new AlertDialog.Builder(context)
|
||||
// .setTitle(R.string.post_viewer_download_dialog_title)
|
||||
// .setMessage(R.string.post_viewer_download_message)
|
||||
// .setNeutralButton(R.string.post_viewer_download_session, clickListener)
|
||||
// .setPositiveButton(R.string.post_viewer_download_current, clickListener)
|
||||
// .setNegativeButton(R.string.post_viewer_download_album, clickListener).show();
|
||||
// } else {
|
||||
// DownloadUtils.batchDownload(context,
|
||||
// username,
|
||||
// DownloadMethod.DOWNLOAD_POST_VIEWER,
|
||||
// Collections.singletonList(postModels.get(childPosition)));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
|
@ -764,6 +764,7 @@ public class PostViewV2Fragment extends SharedElementTransitionDialogFragment {
|
|||
private void setupTitles() {
|
||||
binding.title.setText(feedModel.getProfileModel().getUsername());
|
||||
binding.righttitle.setText(feedModel.getProfileModel().getName());
|
||||
binding.isVerified.setVisibility(feedModel.getProfileModel().isVerified() ? View.VISIBLE : View.GONE);
|
||||
binding.title.setOnClickListener(v -> navigateToProfile("@" + feedModel.getProfileModel().getUsername()));
|
||||
binding.righttitle.setOnClickListener(v -> navigateToProfile("@" + feedModel.getProfileModel().getUsername()));
|
||||
final String locationName = feedModel.getLocationName();
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ public final class LocaleUtils {
|
|||
if (appLanguageIndex == 11) return "fa";
|
||||
if (appLanguageIndex == 12) return "mk";
|
||||
if (appLanguageIndex == 13) return "vi";
|
||||
if (appLanguageIndex == 14) return "hi";
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
|
|||
import java.io.IOException;
|
||||
|
||||
import awais.instagrabber.utils.Constants;
|
||||
import awais.instagrabber.utils.LocaleUtils;
|
||||
import awais.instagrabber.utils.Utils;
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Request;
|
||||
|
|
@ -22,6 +23,10 @@ public class AddCookiesInterceptor implements Interceptor {
|
|||
if (request.header(userAgentHeader) == null) {
|
||||
builder.addHeader(userAgentHeader, Constants.I_USER_AGENT);
|
||||
}
|
||||
final String languageHeader = "Accept-Language";
|
||||
if (request.header(languageHeader) == null) {
|
||||
builder.addHeader(languageHeader, LocaleUtils.getCurrentLocale().getLanguage() + ",en-US;q=0.8");
|
||||
}
|
||||
final Request updatedRequest = builder.build();
|
||||
return chain.proceed(updatedRequest);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ public class ProfileService extends BaseService {
|
|||
} else {
|
||||
resourceUrl = mediaNode.has("display_resources") ? ResponseBodyUtils.getHighQualityImage(mediaNode) : displayUrl;
|
||||
}
|
||||
JSONObject tempJsonObject = mediaNode.optJSONObject("edge_media_preview_comment");
|
||||
JSONObject tempJsonObject = mediaNode.optJSONObject("edge_media_to_comment");
|
||||
final long commentsCount = tempJsonObject != null ? tempJsonObject.optLong("count") : 0;
|
||||
tempJsonObject = mediaNode.optJSONObject("edge_media_preview_like");
|
||||
final long likesCount = tempJsonObject != null ? tempJsonObject.optLong("count") : 0;
|
||||
|
|
|
|||
|
|
@ -65,29 +65,42 @@
|
|||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:ellipsize="marquee"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1"
|
||||
android:textColor="@color/white"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/subtitle"
|
||||
app:layout_constraintEnd_toEndOf="@id/righttitle"
|
||||
app:layout_constraintEnd_toStartOf="@id/isVerified"
|
||||
app:layout_constraintStart_toEndOf="@id/profile_pic"
|
||||
app:layout_constraintTop_toTopOf="@id/profile_pic"
|
||||
tools:text="Username Username Username" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/isVerified"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"
|
||||
app:layout_constraintStart_toEndOf="@id/title"
|
||||
app:layout_constraintTop_toTopOf="@id/title"
|
||||
app:srcCompat="@drawable/verified"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/righttitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:ellipsize="marquee"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1"
|
||||
android:textColor="@color/grey_600"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/title"
|
||||
app:layout_constraintStart_toEndOf="@id/isVerified"
|
||||
app:layout_constraintTop_toTopOf="@id/title"
|
||||
tools:text="Full name Full name Full name Full name Full name Full name Full name " />
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tvUsername"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:paddingStart="4dp"
|
||||
|
|
@ -36,11 +36,23 @@
|
|||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/tvComment"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/ivProfilePic"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="username" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/isVerified"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitStart"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tvUsername"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tvUsername"
|
||||
app:layout_constraintTop_toTopOf="@id/tvUsername"
|
||||
app:srcCompat="@drawable/verified"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<awais.instagrabber.customviews.RamboTextViewV2
|
||||
android:id="@+id/tvComment"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
|
|
@ -35,11 +35,23 @@
|
|||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/tvComment"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/ivProfilePic"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="username" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/isVerified"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitStart"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tvUsername"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tvUsername"
|
||||
app:layout_constraintTop_toTopOf="@id/tvUsername"
|
||||
app:srcCompat="@drawable/verified"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<awais.instagrabber.customviews.RamboTextViewV2
|
||||
android:id="@+id/tvComment"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Herunterladen</string>
|
||||
<string name="action_search">Benutzernamen suchen…</string>
|
||||
<string name="action_compare">Vergleichen</string>
|
||||
<string name="single_like">Like</string>
|
||||
<string name="multiple_likes">Likes</string>
|
||||
<string name="clipboard_error">Fehler beim Kopieren des Textes</string>
|
||||
<string name="clipboard_copied">In die Zwischenablage kopiert!</string>
|
||||
<string name="report">Melden</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Descarga</string>
|
||||
<string name="action_search">Buscar usuario…</string>
|
||||
<string name="action_compare">Comparar</string>
|
||||
<string name="single_like">me gusta</string>
|
||||
<string name="multiple_likes">me gustas</string>
|
||||
<string name="clipboard_error">Error al copiar texto</string>
|
||||
<string name="clipboard_copied">¡Copiar al portapapeles!</string>
|
||||
<string name="report">Reportar</string>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="languages">
|
||||
<item>پیش فرض سیستم</item>
|
||||
<item>پیشگزیده سامانه</item>
|
||||
<item>انگلیسی</item>
|
||||
<item>فرانسوی [ با سپاس از kernoeb@ ]</item>
|
||||
<item>اسپانیایی [ با سپاس از sguinetti@ ]</item>
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
<string-array name="theme_presets">
|
||||
<item>خودکار / پیروی از سیستم</item>
|
||||
<item>خودکار / پیروی از باتری</item>
|
||||
<item>تاریک</item>
|
||||
<item>تیره</item>
|
||||
<item>روشن</item>
|
||||
</string-array>
|
||||
<string-array name="theme_presets_values">
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">دانلود</string>
|
||||
<string name="action_search">جستجوی نام کاربری…</string>
|
||||
<string name="action_compare">مقایسه</string>
|
||||
<string name="single_like">پسندیدن</string>
|
||||
<string name="multiple_likes">پسند</string>
|
||||
<string name="clipboard_error">خطا هنگام کپی متن</string>
|
||||
<string name="clipboard_copied">به کلیپ بورد کپی شد!</string>
|
||||
<string name="report">گزارش</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Téléchargement</string>
|
||||
<string name="action_search">Rechercher par nom d\'utilisateur…</string>
|
||||
<string name="action_compare">Comparer</string>
|
||||
<string name="single_like">j\'aime</string>
|
||||
<string name="multiple_likes">j\'aimes</string>
|
||||
<string name="clipboard_error">Erreur lors de la copie des éléments</string>
|
||||
<string name="clipboard_copied">Copié dans le presse-papier !</string>
|
||||
<string name="report">Reporter</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">डाउनलोड करें</string>
|
||||
<string name="action_search">ब्यबहारकारीयों के ब्यबहृत नाम ढुंढे...</string>
|
||||
<string name="action_compare">तुलना करें</string>
|
||||
<string name="single_like">पसंद करें</string>
|
||||
<string name="multiple_likes">पसन्दित</string>
|
||||
<string name="clipboard_error">लेखा उतारने में त्रुटि</string>
|
||||
<string name="clipboard_copied">क्लिपबोर्ड पर नक़ल किया</string>
|
||||
<string name="report">रिपोर्ट करें</string>
|
||||
|
|
@ -213,27 +211,27 @@
|
|||
<string name="followers_type_followers">अनुयायी</string>
|
||||
<string name="followers_type_following">फ़ॉलो कर रहे हैं</string>
|
||||
<string name="followers_compare">फलोअर्स & फलोइंग के तुलना</string>
|
||||
<string name="followers_both_following">Both following each other</string>
|
||||
<string name="followers_not_following">not following %s</string>
|
||||
<string name="followers_not_follower">%s is not following</string>
|
||||
<string name="login_error_loading_cookies">Error loading cookies</string>
|
||||
<string name="login_success_loading_cookies">Successfully loaded cookies!\nIf you still can\'t open private pages/posts, re-login!</string>
|
||||
<string name="comment_hint">Write a new comment...</string>
|
||||
<string name="dm_hint">Write a new message...</string>
|
||||
<string name="liked_notif">Liked your post</string>
|
||||
<string name="comment_notif">Commented on your post:</string>
|
||||
<string name="follow_notif">Started following you</string>
|
||||
<string name="mention_notif">Mentioned you:</string>
|
||||
<string name="request_notif">Requested following you</string>
|
||||
<string name="request_approve">Approve request</string>
|
||||
<string name="request_reject">Reject request</string>
|
||||
<string name="share_public_post">Share this public post to...</string>
|
||||
<string name="share_private_post">This is a private post! Share to those who can view them!</string>
|
||||
<string name="discover_empty">This category is somehow empty...</string>
|
||||
<string name="update_available">An update is available! (%s)</string>
|
||||
<string name="update_notice">Reminder: If you downloaded from F-Droid, you must update from it! Same applies for GitHub.</string>
|
||||
<string name="updated">Thank you for updating Barinsta!</string>
|
||||
<string name="crash_title">App crashed</string>
|
||||
<string name="followers_both_following">एक दुसरे को फोलो कर रहें हैं</string>
|
||||
<string name="followers_not_following">फोलो नहीं कर रहा %s</string>
|
||||
<string name="followers_not_follower">%s फोलो नहीं कर रहा है</string>
|
||||
<string name="login_error_loading_cookies">कुकीज लोड करने में त्रुटि</string>
|
||||
<string name="login_success_loading_cookies">कुकीज सफलतापूर्बक लोड हुआ!\nअगर आप अभी तक गोपन पेज या पोस्ट खुल नहीं पा रहे हैं, फिर से लग इन करें!</string>
|
||||
<string name="comment_hint">नया कमेंट करें...</string>
|
||||
<string name="dm_hint">एक नया संदेश लिखो...</string>
|
||||
<string name="liked_notif">आपकी पोस्ट को पसंद किया</string>
|
||||
<string name="comment_notif">आपके पोस्ट पर कमेंट किया है:</string>
|
||||
<string name="follow_notif">आपको फॉलो करना शुरू किया</string>
|
||||
<string name="mention_notif">आपका उल्लेख किया:</string>
|
||||
<string name="request_notif">आपको फॉलो करने का निवेदन किया</string>
|
||||
<string name="request_approve">निवेदन को ग्रहण करें</string>
|
||||
<string name="request_reject">अनुरोध प्रत्याख्यान करें</string>
|
||||
<string name="share_public_post">इसी सार्वजनिक पोस्ट को भेजें...</string>
|
||||
<string name="share_private_post">यह एक गुप्त पोस्ट है! उन लोगों को बांटना जो उन्हें देख सकते हैं!</string>
|
||||
<string name="discover_empty">यह वर्ग रिक्त है...</string>
|
||||
<string name="update_available">नया अद्यतन उपलब्ध! (%s)</string>
|
||||
<string name="update_notice">याद रखें: अगर आप f-droid से डाउनलोड किया है तो उसी से ही अपडेट करें! Github के लिये भी बही।</string>
|
||||
<string name="updated">बारइनष्टा को अद्दतन करने के लिए धन्यबाद!</string>
|
||||
<string name="crash_title">एप में त्रुटि हुयी।</string>
|
||||
<string name="crash_descr">Oops.. the app crashed, but don\'t worry you can send error report to the developer to help him fix the issue. (:</string>
|
||||
<string name="use_amoled_dark_theme">Use AMOLED mode for Dark theme</string>
|
||||
<string name="action_notif">Activity</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Unduh</string>
|
||||
<string name="action_search">Cari Pengguna…</string>
|
||||
<string name="action_compare">Bandingkan</string>
|
||||
<string name="single_like">suka</string>
|
||||
<string name="multiple_likes">suka</string>
|
||||
<string name="clipboard_error">Galat menyalin tulisan</string>
|
||||
<string name="clipboard_copied">Tersalin!</string>
|
||||
<string name="report">Laporkan</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Scarica</string>
|
||||
<string name="action_search">Cerca utente…</string>
|
||||
<string name="action_compare">Compara</string>
|
||||
<string name="single_like">hai messo un Like</string>
|
||||
<string name="multiple_likes">likes</string>
|
||||
<string name="clipboard_error">Errore durante la copia del testo</string>
|
||||
<string name="clipboard_copied">Copiato negli appunti!</string>
|
||||
<string name="report">Segnala</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Превземи</string>
|
||||
<string name="action_search">Пребарај username…</string>
|
||||
<string name="action_compare">Спореди</string>
|
||||
<string name="single_like">лајкни</string>
|
||||
<string name="multiple_likes">лајкови</string>
|
||||
<string name="clipboard_error">Грешка при копрање текст</string>
|
||||
<string name="clipboard_copied">Копрано во clipboard!</string>
|
||||
<string name="report">Пријави</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Pobierz</string>
|
||||
<string name="action_search">Szukaj użytkownika…</string>
|
||||
<string name="action_compare">Porównaj</string>
|
||||
<string name="single_like">polubienie</string>
|
||||
<string name="multiple_likes">polubienia</string>
|
||||
<string name="clipboard_error">Wystąpił błąd podczas kopiowania tekstu</string>
|
||||
<string name="clipboard_copied">Skopiowano do schowka!</string>
|
||||
<string name="report">Zgłoś</string>
|
||||
|
|
|
|||
|
|
@ -6,9 +6,7 @@
|
|||
<string name="action_download">Baixar</string>
|
||||
<string name="action_search">Pesquisar nome de usuário…</string>
|
||||
<string name="action_compare">Comparar</string>
|
||||
<string name="single_like">like</string>
|
||||
<string name="multiple_likes">likes</string>
|
||||
<string name="clipboard_error">Erro ao copiar texto</string>
|
||||
<string name="clipboard_error">Falha ao copiar texto</string>
|
||||
<string name="clipboard_copied">Copiado para a área de transferência!</string>
|
||||
<string name="report">Reportar</string>
|
||||
<string name="password">Senha (máx. 32 caracteres)</string>
|
||||
|
|
@ -31,15 +29,15 @@
|
|||
<string name="title_changelog">Histórico de atualizações</string>
|
||||
<string name="bottom_toolbar">Mostrar barra de ferramentas na parte inferior</string>
|
||||
<string name="update_check">Verificar se há atualizações ao iniciar</string>
|
||||
<string name="download_user_folder">Baixar postagens para pastas com o nome de usuário</string>
|
||||
<string name="autoload_posts">Carregar automaticamente todas as postagens do usuário</string>
|
||||
<string name="download_user_folder">Baixar publicações para pastas com o nome de usuário</string>
|
||||
<string name="autoload_posts">Carregar automaticamente todas as publicações do usuário</string>
|
||||
<string name="mark_as_seen_setting">Marcar stories como vistos após a visualização</string>
|
||||
<string name="mark_as_seen_setting_summary">O autor do story saberá que você viu</string>
|
||||
<string name="dm_mark_as_seen_setting">Marcar DM como vista após a visualização</string>
|
||||
<string name="dm_mark_as_seen_setting_summary">Outros membros saberão que você viu</string>
|
||||
<string name="activity_setting">Ativar notificações de atividade</string>
|
||||
<string name="error_loading_profile">Erro ao carregar o perfil!\nTente fazer login e pesquise novamente.</string>
|
||||
<string name="error_creating_folders">Erro ao criar pasta(s) de download.</string>
|
||||
<string name="error_loading_profile">Falha ao carregar o perfil!\nTente fazer login e pesquisar novamente.</string>
|
||||
<string name="error_creating_folders">Falha ao criar pasta(s) de download.</string>
|
||||
<string name="show_feed">Mostrar feed do usuário (funciona apenas quando o usuário está logado)</string>
|
||||
<string name="save_to_folder">Salvar em pasta personalizada</string>
|
||||
<string name="select_folder">Selecione uma pasta</string>
|
||||
|
|
@ -53,25 +51,25 @@
|
|||
<string name="import_export">Importar/Exportar</string>
|
||||
<string name="select_language">Idioma</string>
|
||||
<string name="what_to_do_dialog">O que fazer?</string>
|
||||
<string name="main_posts_count">%s\n Postagens</string>
|
||||
<string name="main_posts_count_inline">%s Postagens</string>
|
||||
<string name="main_posts_count">%s\nPublicações</string>
|
||||
<string name="main_posts_count_inline">%s Publicações</string>
|
||||
<string name="main_posts_followers">%s\nSeguidores</string>
|
||||
<string name="main_posts_following">%s\nSeguindo</string>
|
||||
<string name="post_viewer_video_post">Postagem de vídeo</string>
|
||||
<string name="post_viewer_image_post">Postagem de imagem</string>
|
||||
<string name="post_viewer_video_post">Publicação de vídeo</string>
|
||||
<string name="post_viewer_image_post">Publicação de imagem</string>
|
||||
<string name="post_viewer_autoplay_video">Reprodução automática de vídeos</string>
|
||||
<string name="post_viewer_muted_autoplay">Sempre silenciar vídeos</string>
|
||||
<string name="post_viewer_post_from">%s - %s</string>
|
||||
<string name="post_viewer_download_message" comment="post_viewer_download_message [Session] is NOT a variable, please translate it and ignore warnings">Nota: A [Sessão] atual não mostrará esta caixa de diálogo até que você esteja aqui e sempre fará o download do slide de postagem mostrado.</string>
|
||||
<string name="post_viewer_download_message" comment="post_viewer_download_message [Session] is NOT a variable, please translate it and ignore warnings">Obs: A [Sessão] atual não mostrará esta mensagem até que você esteja aqui e sempre baixará o slide de publicação mostrado.</string>
|
||||
<string name="post_viewer_download_dialog_title">Selecione o que baixar</string>
|
||||
<string name="post_viewer_download_session" comment="post_viewer_download_session [Session] is NOT a variable, please translate it and ignore warnings">[Sessão] Atual</string>
|
||||
<string name="post_viewer_download_current">Atual</string>
|
||||
<string name="post_viewer_download_album">Álbum inteiro</string>
|
||||
<string name="show_stories">Mostrar stories</string>
|
||||
<string name="no_more_stories">Sem mais stories!</string>
|
||||
<string name="be_patient">Seja paciente!</string>
|
||||
<string name="view_story_post">Ver postagem</string>
|
||||
<string name="view_post">Ver postagem</string>
|
||||
<string name="be_patient">Tenha paciência!</string>
|
||||
<string name="view_story_post">Ver Publicação</string>
|
||||
<string name="view_post">Ver Publicação</string>
|
||||
<string name="spotify">Spotify</string>
|
||||
<string name="stories_notloggedin">Não é possível interagir se você não estiver logado!</string>
|
||||
<string name="vote_story_poll">Votar</string>
|
||||
|
|
@ -79,7 +77,7 @@
|
|||
<string name="voted_story_poll">Você já votou!</string>
|
||||
<string name="respond_story">Responder</string>
|
||||
<string name="answer_hint">Responder...</string>
|
||||
<string name="answered_story">Resposta bem-sucedida!</string>
|
||||
<string name="answered_story">Resposta enviada!</string>
|
||||
<string name="reply_story">Responder o story</string>
|
||||
<string name="reply_hint">Responder...</string>
|
||||
<string name="story_quiz">Quiz</string>
|
||||
|
|
@ -89,8 +87,8 @@
|
|||
<string name="priv_acc_confirm">Você não será capaz de acessar as publicações após deixar de seguir! Tem certeza?</string>
|
||||
<string name="no_acc">Você pode fazer login em Mais -> Conta no canto inferior direito ou você pode ver as contas públicas sem fazer login!</string>
|
||||
<string name="no_acc_logged_in">Você pode deslizar para a esquerda/direita para explorar/feed ou pesquisar algo abaixo!</string>
|
||||
<string name="empty_acc">Esta conta não tem postagens</string>
|
||||
<string name="empty_list">Não há essas postagens!</string>
|
||||
<string name="empty_acc">Esta conta não tem publicações</string>
|
||||
<string name="empty_list">Não há publicações!</string>
|
||||
<string name="curr_version">Versão atual: v%s</string>
|
||||
<string name="read_more">ler mais…</string>
|
||||
<string name="login">Logar</string>
|
||||
|
|
@ -167,7 +165,7 @@
|
|||
<string name="dms_inbox_unlike">Descurtir mensagem</string>
|
||||
<string name="dms_inbox_unsend">Cancelar envio</string>
|
||||
<string name="dms_inbox_author">Ver perfil do autor</string>
|
||||
<string name="dms_inbox_media_shared_from">Postagem compartilhada de %s</string>
|
||||
<string name="dms_inbox_media_shared_from">Publicação compartilhada de %s</string>
|
||||
<string name="dms_inbox_raven_media_unknown"><i>Tipo de mídia desconhecido</i></string>
|
||||
<string name="dms_inbox_raven_media_expired">Mídia expirada!</string>
|
||||
<string name="dms_inbox_raven_media_delivered">Entregue</string>
|
||||
|
|
@ -185,19 +183,19 @@
|
|||
<string name="dms_action_kick">Expulsar</string>
|
||||
<string name="dms_left_users">Usuários que saíram</string>
|
||||
<string name="direct_download">Baixar diretamente</string>
|
||||
<string name="direct_download_desc">Baixar as postagens diretamente no telefone!</string>
|
||||
<string name="direct_download_loading">Buscando postagem(s)</string>
|
||||
<string name="direct_download_desc">Baixar as publicações diretamente no telefone!</string>
|
||||
<string name="direct_download_loading">Buscando publicação(ões)</string>
|
||||
<string name="direct_download_perms_ask">Por favor, conceda as permissões e tente baixar novamente!</string>
|
||||
<string name="downloader_started">Download iniciado</string>
|
||||
<string name="downloader_complete">Download concluído</string>
|
||||
<string name="downloader_downloading_post">Baixando postagem</string>
|
||||
<string name="downloader_downloading_post">Baixando publicação</string>
|
||||
<string name="downloader_downloading_media">Baixando mídia</string>
|
||||
<string name="downloader_downloading_pfp">Baixando foto do perfil</string>
|
||||
<string name="downloader_downloaded_in_folder">Arquivo baixado na pasta Downloads!</string>
|
||||
<string name="downloader_unknown_error">Ocorreu um erro desconhecido!!!</string>
|
||||
<string name="downloader_error_creating_folder">Erro ao criar pasta!</string>
|
||||
<string name="downloader_error_download_file">Erro ao baixar o arquivo</string>
|
||||
<string name="downloader_too_many">Você só pode baixar 100 postagens por vez. Não seja tão ganancioso!</string>
|
||||
<string name="downloader_error_creating_folder">Falha ao criar pasta!</string>
|
||||
<string name="downloader_error_download_file">Falha ao baixar arquivo</string>
|
||||
<string name="downloader_too_many">Você só pode baixar 100 publicações por vez. Não seja tão ganancioso!</string>
|
||||
<string name="comment_viewer_copy_user">Copiar nome de usuário</string>
|
||||
<string name="comment_viewer_copy_comment">Copiar comentário</string>
|
||||
<string name="comment_viewer_reply_comment">Responder comentário</string>
|
||||
|
|
@ -214,19 +212,19 @@
|
|||
<string name="followers_both_following">Ambos se seguem</string>
|
||||
<string name="followers_not_following">não segue %s</string>
|
||||
<string name="followers_not_follower">%s não segue</string>
|
||||
<string name="login_error_loading_cookies">Erro ao carregar cookies</string>
|
||||
<string name="login_success_loading_cookies">Cookies carregados com sucesso!\nSe você ainda não consegue abrir páginas/postagens privadas, faça o login novamente!</string>
|
||||
<string name="login_error_loading_cookies">Falha ao carregar cookies</string>
|
||||
<string name="login_success_loading_cookies">Cookies carregados com sucesso!\nSe você ainda não consegue abrir páginas/publicações privadas, faça o login novamente!</string>
|
||||
<string name="comment_hint">Escrever um novo comentário...</string>
|
||||
<string name="dm_hint">Escrever uma nova mensagem...</string>
|
||||
<string name="liked_notif">Curtiu sua postagem</string>
|
||||
<string name="comment_notif">Comentou em sua postagem:</string>
|
||||
<string name="liked_notif">Curtiu sua publicação</string>
|
||||
<string name="comment_notif">Comentou em sua publicação:</string>
|
||||
<string name="follow_notif">Começou a seguir você</string>
|
||||
<string name="mention_notif">Mencionou você:</string>
|
||||
<string name="request_notif">Pediu para seguir você</string>
|
||||
<string name="request_approve">Aprovar pedido</string>
|
||||
<string name="request_reject">Rejeitar pedido</string>
|
||||
<string name="share_public_post">Compartilhar esta postagem pública com...</string>
|
||||
<string name="share_private_post">Esta é uma postagem privada! Compartilhe com quem pode visualizá-la!</string>
|
||||
<string name="share_public_post">Compartilhar esta publicação pública com...</string>
|
||||
<string name="share_private_post">Esta é uma publicação privada! Compartilhe com quem pode visualizá-la!</string>
|
||||
<string name="discover_empty">Esta categoria está vazia...</string>
|
||||
<string name="update_available">Uma atualização está disponível! (%s)</string>
|
||||
<string name="update_notice">Lembrete: se você baixou do F-Droid, você deve atualizar a partir dele! O mesmo se aplica ao GitHub.</string>
|
||||
|
|
@ -242,7 +240,7 @@
|
|||
<string name="activity_count_comments">%d comentários</string>
|
||||
<string name="activity_count_commentlikes">%d comentários curtidos</string>
|
||||
<string name="activity_count_usertags">%d marcações</string>
|
||||
<string name="activity_count_likes">%d likes</string>
|
||||
<string name="activity_count_likes">%d curtidas</string>
|
||||
<string name="activity_notloggedin">Você deslogou antes de clicar nessa notificação?!</string>
|
||||
<string name="feed">Feed</string>
|
||||
<string name="profile">Perfil</string>
|
||||
|
|
@ -287,10 +285,10 @@
|
|||
<string name="locations">Localizações</string>
|
||||
<string name="unknown">Desconhecido</string>
|
||||
<string name="removed_from_favs">Removido dos Favoritos</string>
|
||||
<string name="backup_and_restore">Backup & Restauração</string>
|
||||
<string name="backup_and_restore">Becape & Restauração</string>
|
||||
<string name="create_backup">Criar</string>
|
||||
<string name="restore_backup">Restaurar</string>
|
||||
<string name="file_chosen_label">Arquivo:</string>
|
||||
<string name="enter_password">Digite a senha</string>
|
||||
<string name="select_backup_file">Selecione um arquivo de backup (.zaai/.backup)</string>
|
||||
<string name="select_backup_file">Selecione um arquivo de becape (.zaai/.backup)</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">İndir</string>
|
||||
<string name="action_search">Kullanıcı adı ara…</string>
|
||||
<string name="action_compare">Karşılaştır</string>
|
||||
<string name="single_like">beğeni</string>
|
||||
<string name="multiple_likes">beğeni</string>
|
||||
<string name="clipboard_error">Metin kopyalanamadı</string>
|
||||
<string name="clipboard_copied">Panoya kopyalandı!</string>
|
||||
<string name="report">Bildir</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">Tải xuống</string>
|
||||
<string name="action_search">Tìm tên người dùng…</string>
|
||||
<string name="action_compare">So sánh</string>
|
||||
<string name="single_like">thích</string>
|
||||
<string name="multiple_likes">thích</string>
|
||||
<string name="clipboard_error">Lỗi khi sao chép</string>
|
||||
<string name="clipboard_copied">Đã sao chép vào clipboard!</string>
|
||||
<string name="report">Báo cáo</string>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
<string name="action_download">下载</string>
|
||||
<string name="action_search">搜索用户名…</string>
|
||||
<string name="action_compare">比较</string>
|
||||
<string name="single_like">次赞</string>
|
||||
<string name="multiple_likes">次赞</string>
|
||||
<string name="clipboard_error">复制文字时出错</string>
|
||||
<string name="clipboard_copied">已复制到剪贴板!</string>
|
||||
<string name="report">报告</string>
|
||||
|
|
|
|||
|
|
@ -306,11 +306,11 @@
|
|||
<string name="player_timeline_desc">Video player timeline</string>
|
||||
<string name="one_x" translatable="false">1x</string>
|
||||
<string name="two_x" translatable="false">2x</string>
|
||||
<string name="pt_two_five_x">0.25x</string>
|
||||
<string name="pt_five_x">0.5x</string>
|
||||
<string name="pt_seven_five_x">0.75x</string>
|
||||
<string name="one_pt_two_five_x">1.25x</string>
|
||||
<string name="one_pt_five_x">1.5x</string>
|
||||
<string name="pt_two_five_x" translatable="false">0.25x</string>
|
||||
<string name="pt_five_x" translatable="false">0.5x</string>
|
||||
<string name="pt_seven_five_x" translatable="false">0.75x</string>
|
||||
<string name="one_pt_two_five_x" translatable="false">1.25x</string>
|
||||
<string name="one_pt_five_x" translatable="false">1.5x</string>
|
||||
<string name="liking">Liking…</string>
|
||||
<string name="like_unsuccessful">Like unsuccessful</string>
|
||||
<string name="unlike_unsuccessful">Unlike unsuccessful</string>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue