Merge remote-tracking branch 'remotes/main/master' into manrope
This commit is contained in:
@ -60,6 +60,12 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// enabling counter badges by default
|
||||||
|
if(tinyDb.getString("enableCounterBadgesInit").isEmpty()) {
|
||||||
|
tinyDb.putBoolean("enableCounterBadges", true);
|
||||||
|
tinyDb.putString("enableCounterBadgesInit", "yes");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract int getLayoutResourceId();
|
protected abstract int getLayoutResourceId();
|
||||||
|
@ -29,6 +29,7 @@ import retrofit2.Call;
|
|||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
@ -95,6 +96,7 @@ public class IssueDetailActivity extends BaseActivity {
|
|||||||
private HorizontalScrollView assigneesScrollView;
|
private HorizontalScrollView assigneesScrollView;
|
||||||
private ScrollView scrollViewComments;
|
private ScrollView scrollViewComments;
|
||||||
private TextView issueModified;
|
private TextView issueModified;
|
||||||
|
private ImageView createNewComment;
|
||||||
final Context ctx = this;
|
final Context ctx = this;
|
||||||
private LinearLayout labelsLayout;
|
private LinearLayout labelsLayout;
|
||||||
private LinearLayout assigneesLayout;
|
private LinearLayout assigneesLayout;
|
||||||
@ -132,6 +134,7 @@ public class IssueDetailActivity extends BaseActivity {
|
|||||||
assigneesScrollView = findViewById(R.id.assigneesScrollView);
|
assigneesScrollView = findViewById(R.id.assigneesScrollView);
|
||||||
scrollViewComments = findViewById(R.id.scrollViewComments);
|
scrollViewComments = findViewById(R.id.scrollViewComments);
|
||||||
issueModified = findViewById(R.id.issueModified);
|
issueModified = findViewById(R.id.issueModified);
|
||||||
|
createNewComment = findViewById(R.id.addNewComment);
|
||||||
labelsLayout = findViewById(R.id.frameLabels);
|
labelsLayout = findViewById(R.id.frameLabels);
|
||||||
assigneesLayout = findViewById(R.id.frameAssignees);
|
assigneesLayout = findViewById(R.id.frameAssignees);
|
||||||
|
|
||||||
@ -147,10 +150,38 @@ public class IssueDetailActivity extends BaseActivity {
|
|||||||
mRecyclerView.setNestedScrollingEnabled(false);
|
mRecyclerView.setNestedScrollingEnabled(false);
|
||||||
mRecyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
|
mRecyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mRecyclerView.getContext(),
|
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mRecyclerView.getContext(), DividerItemDecoration.VERTICAL);
|
||||||
DividerItemDecoration.VERTICAL);
|
|
||||||
mRecyclerView.addItemDecoration(dividerItemDecoration);
|
mRecyclerView.addItemDecoration(dividerItemDecoration);
|
||||||
|
|
||||||
|
createNewComment = findViewById(R.id.addNewComment);
|
||||||
|
createNewComment.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
|
||||||
|
startActivity(new Intent(ctx, ReplyToIssueActivity.class));
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||||
|
@Override
|
||||||
|
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
||||||
|
|
||||||
|
if (dy > 0 && createNewComment.isShown()) {
|
||||||
|
createNewComment.setVisibility(View.GONE);
|
||||||
|
} else if (dy < 0) {
|
||||||
|
createNewComment.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
|
||||||
|
super.onScrollStateChanged(recyclerView, newState);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onRefresh() {
|
public void onRefresh() {
|
||||||
@ -165,24 +196,24 @@ public class IssueDetailActivity extends BaseActivity {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Typeface myTypeface;
|
Typeface myTypeface;
|
||||||
if(tinyDb.getInt("customFontId") == 0) {
|
|
||||||
|
|
||||||
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
switch(tinyDb.getInt("customFontId")) {
|
||||||
|
|
||||||
}
|
case 0:
|
||||||
else if (tinyDb.getInt("customFontId") == 1) {
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
|
break;
|
||||||
|
|
||||||
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/manroperegular.ttf");
|
case 1:
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/manroperegular.ttf");
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
case 2:
|
||||||
else if (tinyDb.getInt("customFontId") == 2) {
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
||||||
|
break;
|
||||||
|
|
||||||
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/sourcecodeproregular.ttf");
|
default:
|
||||||
|
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
||||||
}
|
break;
|
||||||
else {
|
|
||||||
|
|
||||||
myTypeface = Typeface.createFromAsset(Objects.requireNonNull(getApplicationContext()).getAssets(), "fonts/roboto.ttf");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,29 +537,11 @@ public class IssueDetailActivity extends BaseActivity {
|
|||||||
issueDescription.setLayoutParams(paramsDesc);
|
issueDescription.setLayoutParams(paramsDesc);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (timeFormat) {
|
issueCreatedTime.setText(TimeHelper.formatTime(singleIssue.getCreated_at(), new Locale(locale), timeFormat, ctx));
|
||||||
case "pretty": {
|
issueCreatedTime.setVisibility(View.VISIBLE);
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
|
||||||
String createdTime = prettyTime.format(singleIssue.getCreated_at());
|
if(timeFormat.equals("pretty")) {
|
||||||
issueCreatedTime.setText(createdTime);
|
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(singleIssue.getCreated_at()), ctx));
|
||||||
issueCreatedTime.setVisibility(View.VISIBLE);
|
|
||||||
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(singleIssue.getCreated_at()), getApplicationContext()));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(singleIssue.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
issueCreatedTime.setVisibility(View.VISIBLE);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(singleIssue.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
issueCreatedTime.setVisibility(View.VISIBLE);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(singleIssue.getMilestone() != null) {
|
if(singleIssue.getMilestone() != null) {
|
||||||
|
@ -193,26 +193,10 @@ public class ClosedIssuesAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|||||||
issueNumber.setText(String.valueOf(issuesModel.getNumber()));
|
issueNumber.setText(String.valueOf(issuesModel.getNumber()));
|
||||||
issueCommentsCount.setText(String.valueOf(issuesModel.getComments()));
|
issueCommentsCount.setText(String.valueOf(issuesModel.getComments()));
|
||||||
|
|
||||||
switch (timeFormat) {
|
issueCreatedTime.setText(TimeHelper.formatTime(issuesModel.getClosed_at(), new Locale(locale), timeFormat, context));
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
if(timeFormat.equals("pretty")) {
|
||||||
String createdTime = prettyTime.format(issuesModel.getCreated_at());
|
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(issuesModel.getClosed_at()), context));
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(issuesModel.getCreated_at()), context));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(issuesModel.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(issuesModel.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import org.mian.gitnex.helpers.RoundedTransformation;
|
|||||||
import org.mian.gitnex.util.TinyDB;
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import org.mian.gitnex.helpers.ClickListener;
|
import org.mian.gitnex.helpers.ClickListener;
|
||||||
import org.ocpsoft.prettytime.PrettyTime;
|
import org.ocpsoft.prettytime.PrettyTime;
|
||||||
|
import java.sql.Time;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -261,30 +262,11 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter<IssueCommentsAdap
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(timeFormat) {
|
holder.issueCommentDate.setText(TimeHelper.formatTime(currentItem.getCreated_date(), new Locale(locale), timeFormat, mCtx));
|
||||||
|
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
|
||||||
String createdTime = prettyTime.format(currentItem.getCreated_at());
|
|
||||||
holder.issueCommentDate.setText(createdTime);
|
|
||||||
holder.issueCommentDate.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(currentItem.getCreated_at()), mCtx));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + mCtx.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(currentItem.getCreated_at());
|
|
||||||
holder.issueCommentDate.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + mCtx.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(currentItem.getCreated_at());
|
|
||||||
holder.issueCommentDate.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if(timeFormat.equals("pretty")) {
|
||||||
|
holder.issueCommentDate.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(currentItem.getCreated_at()), mCtx));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -189,26 +189,10 @@ public class IssuesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
|||||||
issueNumber.setText(String.valueOf(issuesModel.getNumber()));
|
issueNumber.setText(String.valueOf(issuesModel.getNumber()));
|
||||||
issueCommentsCount.setText(String.valueOf(issuesModel.getComments()));
|
issueCommentsCount.setText(String.valueOf(issuesModel.getComments()));
|
||||||
|
|
||||||
switch (timeFormat) {
|
issueCreatedTime.setText(TimeHelper.formatTime(issuesModel.getCreated_at(), new Locale(locale), timeFormat, context));
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
if(timeFormat.equals("pretty")) {
|
||||||
String createdTime = prettyTime.format(issuesModel.getCreated_at());
|
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(issuesModel.getCreated_at()), context));
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(issuesModel.getCreated_at()), context));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(issuesModel.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(issuesModel.getCreated_at());
|
|
||||||
issueCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -181,26 +181,10 @@ public class PullRequestsAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|||||||
prNumber.setText(String.valueOf(prModel.getNumber()));
|
prNumber.setText(String.valueOf(prModel.getNumber()));
|
||||||
prCommentsCount.setText(String.valueOf(prModel.getComments()));
|
prCommentsCount.setText(String.valueOf(prModel.getComments()));
|
||||||
|
|
||||||
switch (timeFormat) {
|
prCreatedTime.setText(TimeHelper.formatTime(prModel.getCreated_at(), new Locale(locale), timeFormat, context));
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
if(timeFormat.equals("pretty")) {
|
||||||
String createdTime = prettyTime.format(prModel.getCreated_at());
|
prCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(prModel.getCreated_at()), context));
|
||||||
prCreatedTime.setText(createdTime);
|
|
||||||
prCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(prModel.getCreated_at()), context));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(prModel.getCreated_at());
|
|
||||||
prCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(prModel.getCreated_at());
|
|
||||||
prCreatedTime.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,6 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
|
|||||||
final Context ctx = getContext();
|
final Context ctx = getContext();
|
||||||
final TinyDB tinyDB = new TinyDB(ctx);
|
final TinyDB tinyDB = new TinyDB(ctx);
|
||||||
|
|
||||||
TextView replyToIssue = v.findViewById(R.id.replyToIssue);
|
|
||||||
TextView editIssue = v.findViewById(R.id.editIssue);
|
TextView editIssue = v.findViewById(R.id.editIssue);
|
||||||
TextView editLabels = v.findViewById(R.id.editLabels);
|
TextView editLabels = v.findViewById(R.id.editLabels);
|
||||||
TextView closeIssue = v.findViewById(R.id.closeIssue);
|
TextView closeIssue = v.findViewById(R.id.closeIssue);
|
||||||
@ -56,16 +55,6 @@ public class BottomSheetSingleIssueFragment extends BottomSheetDialogFragment {
|
|||||||
TextView subscribeIssue = v.findViewById(R.id.subscribeIssue);
|
TextView subscribeIssue = v.findViewById(R.id.subscribeIssue);
|
||||||
TextView unsubscribeIssue = v.findViewById(R.id.unsubscribeIssue);
|
TextView unsubscribeIssue = v.findViewById(R.id.unsubscribeIssue);
|
||||||
|
|
||||||
replyToIssue.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
|
|
||||||
startActivity(new Intent(ctx, ReplyToIssueActivity.class));
|
|
||||||
dismiss();
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if(tinyDB.getString("issueType").equals("pr")) {
|
if(tinyDB.getString("issueType").equals("pr")) {
|
||||||
|
|
||||||
editIssue.setText(R.string.editPrText);
|
editIssue.setText(R.string.editPrText);
|
||||||
|
@ -100,18 +100,18 @@ public class MyRepositoriesFragment extends Fragment {
|
|||||||
mRecyclerView.setHasFixedSize(true);
|
mRecyclerView.setHasFixedSize(true);
|
||||||
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||||
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mRecyclerView.getContext(),
|
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mRecyclerView.getContext(), DividerItemDecoration.VERTICAL);
|
||||||
DividerItemDecoration.VERTICAL);
|
|
||||||
mRecyclerView.addItemDecoration(dividerItemDecoration);
|
mRecyclerView.addItemDecoration(dividerItemDecoration);
|
||||||
|
|
||||||
createNewRepo = v.findViewById(R.id.addNewRepo);
|
createNewRepo = v.findViewById(R.id.addNewRepo);
|
||||||
|
|
||||||
createNewRepo.setOnClickListener(new View.OnClickListener() {
|
createNewRepo.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
|
|
||||||
Intent intent = new Intent(view.getContext(), CreateRepoActivity.class);
|
Intent intent = new Intent(view.getContext(), CreateRepoActivity.class);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -119,12 +119,13 @@ public class MyRepositoriesFragment extends Fragment {
|
|||||||
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
||||||
|
|
||||||
if (dy > 0 && createNewRepo.isShown()) {
|
if (dy > 0 && createNewRepo.isShown()) {
|
||||||
createNewRepo.setVisibility(View.GONE);
|
createNewRepo.setVisibility(View.GONE);
|
||||||
} else if (dy < 0 ) {
|
} else if (dy < 0) {
|
||||||
createNewRepo.setVisibility(View.VISIBLE);
|
createNewRepo.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -6,6 +6,7 @@ import android.net.Uri;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||||
import io.noties.markwon.Markwon;
|
import io.noties.markwon.Markwon;
|
||||||
@ -30,6 +31,7 @@ import android.util.Log;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
@ -44,9 +46,6 @@ import org.mian.gitnex.helpers.Toasty;
|
|||||||
import org.mian.gitnex.models.UserRepositories;
|
import org.mian.gitnex.models.UserRepositories;
|
||||||
import org.mian.gitnex.util.AppUtil;
|
import org.mian.gitnex.util.AppUtil;
|
||||||
import org.mian.gitnex.util.TinyDB;
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import org.ocpsoft.prettytime.PrettyTime;
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@ -58,7 +57,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
public class RepoInfoFragment extends Fragment {
|
public class RepoInfoFragment extends Fragment {
|
||||||
|
|
||||||
private Context ctx = getContext();
|
private Context ctx;
|
||||||
private ProgressBar mProgressBar;
|
private ProgressBar mProgressBar;
|
||||||
private LinearLayout pageContent;
|
private LinearLayout pageContent;
|
||||||
private static String repoNameF = "param2";
|
private static String repoNameF = "param2";
|
||||||
@ -66,17 +65,17 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
|
|
||||||
private String repoName;
|
private String repoName;
|
||||||
private String repoOwner;
|
private String repoOwner;
|
||||||
private TextView repoNameInfo;
|
private TextView repoMetaName;
|
||||||
private TextView repoOwnerInfo;
|
private TextView repoMetaDescription;
|
||||||
private TextView repoDescriptionInfo;
|
private TextView repoMetaStars;
|
||||||
private TextView repoWebsiteInfo;
|
private TextView repoMetaPullRequests;
|
||||||
private TextView repoSizeInfo;
|
private LinearLayout repoMetaPullRequestsFrame;
|
||||||
private TextView repoDefaultBranchInfo;
|
private TextView repoMetaForks;
|
||||||
private TextView repoSshUrlInfo;
|
private TextView repoMetaSize;
|
||||||
private TextView repoCloneUrlInfo;
|
private TextView repoMetaWatchers;
|
||||||
private TextView repoRepoUrlInfo;
|
private TextView repoMetaCreatedAt;
|
||||||
private TextView repoForksCountInfo;
|
private TextView repoMetaWebsite;
|
||||||
private TextView repoCreatedAtInfo;
|
private Button repoAdditionalButton;
|
||||||
private TextView repoFileContents;
|
private TextView repoFileContents;
|
||||||
private LinearLayout repoMetaFrame;
|
private LinearLayout repoMetaFrame;
|
||||||
private ImageView repoMetaDataExpandCollapse;
|
private ImageView repoMetaDataExpandCollapse;
|
||||||
@ -120,21 +119,23 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
final String locale = tinyDb.getString("locale");
|
final String locale = tinyDb.getString("locale");
|
||||||
final String timeFormat = tinyDb.getString("dateFormat");
|
final String timeFormat = tinyDb.getString("dateFormat");
|
||||||
|
|
||||||
|
ctx = getActivity();
|
||||||
|
|
||||||
pageContent = v.findViewById(R.id.repoInfoLayout);
|
pageContent = v.findViewById(R.id.repoInfoLayout);
|
||||||
pageContent.setVisibility(View.GONE);
|
pageContent.setVisibility(View.GONE);
|
||||||
|
|
||||||
mProgressBar = v.findViewById(R.id.progress_bar);
|
mProgressBar = v.findViewById(R.id.progress_bar);
|
||||||
repoNameInfo = v.findViewById(R.id.repoNameInfo);
|
repoMetaName = v.findViewById(R.id.repoMetaName);
|
||||||
repoOwnerInfo = v.findViewById(R.id.repoOwnerInfo);
|
repoMetaDescription = v.findViewById(R.id.repoMetaDescription);
|
||||||
repoDescriptionInfo = v.findViewById(R.id.repoDescriptionInfo);
|
repoMetaStars = v.findViewById(R.id.repoMetaStars);
|
||||||
repoWebsiteInfo = v.findViewById(R.id.repoWebsiteInfo);
|
repoMetaPullRequests = v.findViewById(R.id.repoMetaPullRequests);
|
||||||
repoSizeInfo = v.findViewById(R.id.repoSizeInfo);
|
repoMetaPullRequestsFrame = v.findViewById(R.id.repoMetaPullRequestsFrame);
|
||||||
repoDefaultBranchInfo = v.findViewById(R.id.repoDefaultBranchInfo);
|
repoMetaForks = v.findViewById(R.id.repoMetaForks);
|
||||||
repoSshUrlInfo = v.findViewById(R.id.repoSshUrlInfo);
|
repoMetaSize = v.findViewById(R.id.repoMetaSize);
|
||||||
repoCloneUrlInfo = v.findViewById(R.id.repoCloneUrlInfo);
|
repoMetaWatchers = v.findViewById(R.id.repoMetaWatchers);
|
||||||
repoRepoUrlInfo = v.findViewById(R.id.repoRepoUrlInfo);
|
repoMetaCreatedAt = v.findViewById(R.id.repoMetaCreatedAt);
|
||||||
repoForksCountInfo = v.findViewById(R.id.repoForksCountInfo);
|
repoMetaWebsite = v.findViewById(R.id.repoMetaWebsite);
|
||||||
repoCreatedAtInfo = v.findViewById(R.id.repoCreatedAtInfo);
|
repoAdditionalButton = v.findViewById(R.id.repoAdditionalButton);
|
||||||
repoFileContents = v.findViewById(R.id.repoFileContents);
|
repoFileContents = v.findViewById(R.id.repoFileContents);
|
||||||
repoMetaFrame = v.findViewById(R.id.repoMetaFrame);
|
repoMetaFrame = v.findViewById(R.id.repoMetaFrame);
|
||||||
LinearLayout repoMetaFrameHeader = v.findViewById(R.id.repoMetaFrameHeader);
|
LinearLayout repoMetaFrameHeader = v.findViewById(R.id.repoMetaFrameHeader);
|
||||||
@ -148,15 +149,23 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
getRepoInfo(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, locale, timeFormat);
|
getRepoInfo(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, locale, timeFormat);
|
||||||
getFileContents(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getResources().getString(R.string.defaultFilename));
|
getFileContents(instanceUrl, Authorization.returnAuthentication(getContext(), loginUid, instanceToken), repoOwner, repoName, getResources().getString(R.string.defaultFilename));
|
||||||
|
|
||||||
|
if(isExpandViewVisible()) {
|
||||||
|
toggleExpandView();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isExpandViewMetaVisible()) {
|
||||||
|
toggleExpandViewMeta();
|
||||||
|
}
|
||||||
|
|
||||||
fileContentsFrameHeader.setOnClickListener(new View.OnClickListener() {
|
fileContentsFrameHeader.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
collapseExpandView();
|
toggleExpandView();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
repoMetaFrameHeader.setOnClickListener(new View.OnClickListener() {
|
repoMetaFrameHeader.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
collapseExpandViewMeta();
|
toggleExpandViewMeta();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -179,7 +188,7 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
void onFragmentInteraction(Uri uri);
|
void onFragmentInteraction(Uri uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void collapseExpandView() {
|
private void toggleExpandView() {
|
||||||
|
|
||||||
if (repoFileContents.getVisibility() == View.GONE) {
|
if (repoFileContents.getVisibility() == View.GONE) {
|
||||||
repoFilenameExpandCollapse.setImageResource(R.drawable.ic_arrow_up);
|
repoFilenameExpandCollapse.setImageResource(R.drawable.ic_arrow_up);
|
||||||
@ -193,10 +202,14 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
//Animation slide_up = AnimationUtils.loadAnimation(getContext(), R.anim.slide_up);
|
//Animation slide_up = AnimationUtils.loadAnimation(getContext(), R.anim.slide_up);
|
||||||
//fileContentsFrame.startAnimation(slide_up);
|
//fileContentsFrame.startAnimation(slide_up);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void collapseExpandViewMeta() {
|
private boolean isExpandViewVisible() {
|
||||||
|
return repoFileContents.getVisibility() == View.VISIBLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void toggleExpandViewMeta() {
|
||||||
|
|
||||||
if (repoMetaFrame.getVisibility() == View.GONE) {
|
if (repoMetaFrame.getVisibility() == View.GONE) {
|
||||||
repoMetaDataExpandCollapse.setImageResource(R.drawable.ic_arrow_up);
|
repoMetaDataExpandCollapse.setImageResource(R.drawable.ic_arrow_up);
|
||||||
repoMetaFrame.setVisibility(View.VISIBLE);
|
repoMetaFrame.setVisibility(View.VISIBLE);
|
||||||
@ -209,9 +222,12 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
//Animation slide_up = AnimationUtils.loadAnimation(getContext(), R.anim.slide_up);
|
//Animation slide_up = AnimationUtils.loadAnimation(getContext(), R.anim.slide_up);
|
||||||
//repoMetaFrame.startAnimation(slide_up);
|
//repoMetaFrame.startAnimation(slide_up);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isExpandViewMetaVisible() {
|
||||||
|
return repoMetaFrame.getVisibility() == View.VISIBLE;
|
||||||
|
}
|
||||||
|
|
||||||
private void getRepoInfo(String instanceUrl, String token, final String owner, String repo, final String locale, final String timeFormat) {
|
private void getRepoInfo(String instanceUrl, String token, final String owner, String repo, final String locale, final String timeFormat) {
|
||||||
|
|
||||||
final TinyDB tinyDb = new TinyDB(getContext());
|
final TinyDB tinyDb = new TinyDB(getContext());
|
||||||
@ -235,16 +251,64 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
if (response.code() == 200) {
|
if (response.code() == 200) {
|
||||||
|
|
||||||
assert repoInfo != null;
|
assert repoInfo != null;
|
||||||
repoNameInfo.setText(repoInfo.getName());
|
repoMetaName.setText(repoInfo.getName());
|
||||||
repoOwnerInfo.setText(owner);
|
repoMetaDescription.setText(repoInfo.getDescription());
|
||||||
repoDescriptionInfo.setText(repoInfo.getDescription());
|
repoMetaStars.setText(repoInfo.getStars_count());
|
||||||
repoWebsiteInfo.setText(repoInfo.getWebsite());
|
|
||||||
repoSizeInfo.setText(AppUtil.formatFileSize(repoInfo.getSize()));
|
if(repoInfo.getOpen_pull_count() != null) {
|
||||||
repoDefaultBranchInfo.setText(repoInfo.getDefault_branch());
|
repoMetaPullRequests.setText(repoInfo.getOpen_pull_count());
|
||||||
repoSshUrlInfo.setText(repoInfo.getSsh_url());
|
}
|
||||||
repoCloneUrlInfo.setText(repoInfo.getClone_url());
|
else {
|
||||||
repoRepoUrlInfo.setText(repoInfo.getHtml_url());
|
repoMetaPullRequestsFrame.setVisibility(View.GONE);
|
||||||
repoForksCountInfo.setText(repoInfo.getForks_count());
|
}
|
||||||
|
|
||||||
|
repoMetaForks.setText(repoInfo.getForks_count());
|
||||||
|
repoMetaWatchers.setText(repoInfo.getWatchers_count());
|
||||||
|
|
||||||
|
if(repoInfo.getSize() != 0) {
|
||||||
|
repoMetaSize.setText(AppUtil.formatFileSize(repoInfo.getSize()));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
repoMetaSize.setText("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
repoMetaCreatedAt.setText(TimeHelper.formatTime(repoInfo.getCreated_at(), new Locale(locale), timeFormat, ctx));
|
||||||
|
if(timeFormat.equals("pretty")) {
|
||||||
|
repoMetaCreatedAt.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(repoInfo.getCreated_at()), ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
String repoMetaUpdatedAt = TimeHelper.formatTime(repoInfo.getUpdated_at(), new Locale(locale), timeFormat, ctx);
|
||||||
|
|
||||||
|
String website = (repoInfo.getWebsite().isEmpty()) ? getResources().getString(R.string.noDataWebsite) : repoInfo.getWebsite();
|
||||||
|
repoMetaWebsite.setText(website);
|
||||||
|
|
||||||
|
repoAdditionalButton.setOnClickListener(v -> {
|
||||||
|
|
||||||
|
StringBuilder message = new StringBuilder();
|
||||||
|
|
||||||
|
message.append(getResources().getString(R.string.infoTabRepoDefaultBranch))
|
||||||
|
.append(" :\n").append(repoInfo.getDefault_branch()).append("\n\n");
|
||||||
|
|
||||||
|
message.append(getResources().getString(R.string.infoTabRepoUpdatedAt))
|
||||||
|
.append(" :\n").append(repoMetaUpdatedAt).append("\n\n");
|
||||||
|
|
||||||
|
message.append(getResources().getString(R.string.infoTabRepoSshUrl))
|
||||||
|
.append(" :\n").append(repoInfo.getSsh_url()).append("\n\n");
|
||||||
|
|
||||||
|
message.append(getResources().getString(R.string.infoTabRepoCloneUrl))
|
||||||
|
.append(" :\n").append(repoInfo.getClone_url()).append("\n\n");
|
||||||
|
|
||||||
|
message.append(getResources().getString(R.string.infoTabRepoRepoUrl))
|
||||||
|
.append(" :\n").append(repoInfo.getHtml_url());
|
||||||
|
|
||||||
|
AlertDialog.Builder alertDialog = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
|
alertDialog.setTitle(getResources().getString(R.string.infoMoreInformation));
|
||||||
|
alertDialog.setMessage(message);
|
||||||
|
alertDialog.setPositiveButton(getResources().getString(R.string.close), (dialog, which) -> dialog.dismiss());
|
||||||
|
alertDialog.create().show();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
if(repoInfo.getHas_issues() != null) {
|
if(repoInfo.getHas_issues() != null) {
|
||||||
tinyDb.putBoolean("hasIssues", repoInfo.getHas_issues());
|
tinyDb.putBoolean("hasIssues", repoInfo.getHas_issues());
|
||||||
@ -253,28 +317,6 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
tinyDb.putBoolean("hasIssues", true);
|
tinyDb.putBoolean("hasIssues", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (timeFormat) {
|
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
|
||||||
String createdTime = prettyTime.format(repoInfo.getCreated_at());
|
|
||||||
repoCreatedAtInfo.setText(createdTime);
|
|
||||||
repoCreatedAtInfo.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(repoInfo.getCreated_at()), getContext()));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(repoInfo.getCreated_at());
|
|
||||||
repoCreatedAtInfo.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(repoInfo.getCreated_at());
|
|
||||||
repoCreatedAtInfo.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mProgressBar.setVisibility(View.GONE);
|
mProgressBar.setVisibility(View.GONE);
|
||||||
pageContent.setVisibility(View.VISIBLE);
|
pageContent.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
@ -373,13 +415,14 @@ public class RepoInfoFragment extends Fragment {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
Spanned bodyWithMD = null;
|
Spanned bodyWithMD = null;
|
||||||
|
|
||||||
if (response.body() != null) {
|
if (response.body() != null) {
|
||||||
bodyWithMD = markwon.toMarkdown(response.body());
|
bodyWithMD = markwon.toMarkdown(response.body());
|
||||||
}
|
}
|
||||||
|
|
||||||
assert bodyWithMD != null;
|
assert bodyWithMD != null;
|
||||||
markwon.setParsedMarkdown(repoFileContents, bodyWithMD);
|
markwon.setParsedMarkdown(repoFileContents, bodyWithMD);
|
||||||
|
|
||||||
|
|
||||||
} else if (response.code() == 401) {
|
} else if (response.code() == 401) {
|
||||||
|
|
||||||
AlertDialogs.authorizationTokenRevokedDialog(ctx, getResources().getString(R.string.alertDialogTokenRevokedTitle),
|
AlertDialogs.authorizationTokenRevokedDialog(ctx, getResources().getString(R.string.alertDialogTokenRevokedTitle),
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package org.mian.gitnex.fragments;
|
package org.mian.gitnex.fragments;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -11,16 +10,16 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
import org.mian.gitnex.R;
|
import org.mian.gitnex.R;
|
||||||
import org.mian.gitnex.activities.MainActivity;
|
import org.mian.gitnex.activities.MainActivity;
|
||||||
import org.mian.gitnex.helpers.Toasty;
|
import org.mian.gitnex.helpers.Toasty;
|
||||||
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
import org.mian.gitnex.helpers.ssl.MemorizingTrustManager;
|
||||||
import org.mian.gitnex.util.TinyDB;
|
import org.mian.gitnex.util.TinyDB;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author M M Arif
|
* Author M M Arif
|
||||||
@ -28,453 +27,452 @@ import androidx.fragment.app.Fragment;
|
|||||||
|
|
||||||
public class SettingsFragment extends Fragment {
|
public class SettingsFragment extends Fragment {
|
||||||
|
|
||||||
private Context ctx = null;
|
private Context ctx = null;
|
||||||
|
|
||||||
private static String[] langList = {"Arabic", "Chinese", "English", "Finnish", "French", "German", "Italian", "Latvian", "Persian", "Portuguese/Brazilian", "Russian", "Serbian", "Spanish", "Turkish", "Ukrainian"};
|
private static String[] langList = {"Arabic", "Chinese", "English", "Finnish", "French", "German", "Italian", "Latvian", "Persian", "Polish", "Portuguese/Brazilian", "Russian", "Serbian", "Spanish", "Turkish", "Ukrainian"};
|
||||||
private static int langSelectedChoice = 0;
|
private static int langSelectedChoice = 0;
|
||||||
|
|
||||||
private static String[] timeList = {"Pretty", "Normal"};
|
private static String[] timeList = {"Pretty", "Normal"};
|
||||||
private static int timeSelectedChoice = 0;
|
private static int timeSelectedChoice = 0;
|
||||||
|
|
||||||
private static String[] codeBlockList = {"Green - Black", "White - Black", "Grey - Black", "White - Grey", "Dark - White"};
|
private static String[] codeBlockList = {"Green - Black", "White - Black", "Grey - Black", "White - Grey", "Dark - White"};
|
||||||
private static int codeBlockSelectedChoice = 0;
|
private static int codeBlockSelectedChoice = 0;
|
||||||
|
|
||||||
private static String[] homeScreenList = {"My Repositories", "Starred Repositories", "Organizations", "Repositories", "Profile"};
|
private static String[] homeScreenList = {"My Repositories", "Starred Repositories", "Organizations", "Repositories", "Profile"};
|
||||||
private static int homeScreenSelectedChoice = 0;
|
private static int homeScreenSelectedChoice = 0;
|
||||||
|
|
||||||
private static String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"};
|
private static String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"};
|
||||||
private static int customFontSelectedChoice = 0;
|
private static int customFontSelectedChoice = 0;
|
||||||
|
|
||||||
private static String[] themeList = {"Dark", "Light"};
|
private static String[] themeList = {"Dark", "Light"};
|
||||||
private static int themeSelectedChoice = 0;
|
private static int themeSelectedChoice = 0;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
View v = inflater.inflate(R.layout.fragment_settings, container, false);
|
View v = inflater.inflate(R.layout.fragment_settings, container, false);
|
||||||
final TinyDB tinyDb = new TinyDB(getContext());
|
final TinyDB tinyDb = new TinyDB(getContext());
|
||||||
|
|
||||||
final TextView tvLanguageSelected = v.findViewById(R.id.tvLanguageSelected); // setter for en, fr
|
final TextView tvLanguageSelected = v.findViewById(R.id.tvLanguageSelected); // setter for en, fr
|
||||||
final TextView tvDateTimeSelected = v.findViewById(R.id.tvDateTimeSelected); // setter for time
|
final TextView tvDateTimeSelected = v.findViewById(R.id.tvDateTimeSelected); // setter for time
|
||||||
final TextView codeBlockSelected = v.findViewById(R.id.codeBlockSelected); // setter for code block
|
final TextView codeBlockSelected = v.findViewById(R.id.codeBlockSelected); // setter for code block
|
||||||
final TextView homeScreenSelected = v.findViewById(R.id.homeScreenSelected); // setter for home screen
|
final TextView homeScreenSelected = v.findViewById(R.id.homeScreenSelected); // setter for home screen
|
||||||
final TextView customFontSelected = v.findViewById(R.id.customFontSelected); // setter for custom font
|
final TextView customFontSelected = v.findViewById(R.id.customFontSelected); // setter for custom font
|
||||||
final TextView themeSelected = v.findViewById(R.id.themeSelected); // setter for theme
|
final TextView themeSelected = v.findViewById(R.id.themeSelected); // setter for theme
|
||||||
|
|
||||||
LinearLayout langFrame = v.findViewById(R.id.langFrame);
|
LinearLayout langFrame = v.findViewById(R.id.langFrame);
|
||||||
LinearLayout timeFrame = v.findViewById(R.id.timeFrame);
|
LinearLayout timeFrame = v.findViewById(R.id.timeFrame);
|
||||||
LinearLayout codeBlockFrame = v.findViewById(R.id.codeBlockFrame);
|
LinearLayout codeBlockFrame = v.findViewById(R.id.codeBlockFrame);
|
||||||
LinearLayout homeScreenFrame = v.findViewById(R.id.homeScreenFrame);
|
LinearLayout homeScreenFrame = v.findViewById(R.id.homeScreenFrame);
|
||||||
LinearLayout customFontFrame = v.findViewById(R.id.customFontFrame);
|
LinearLayout customFontFrame = v.findViewById(R.id.customFontFrame);
|
||||||
LinearLayout themeFrame = v.findViewById(R.id.themeSelectionFrame);
|
LinearLayout themeFrame = v.findViewById(R.id.themeSelectionFrame);
|
||||||
LinearLayout certsFrame = v.findViewById(R.id.certsFrame);
|
LinearLayout certsFrame = v.findViewById(R.id.certsFrame);
|
||||||
|
|
||||||
Switch counterBadgesSwitch = v.findViewById(R.id.switchCounterBadge);
|
Switch counterBadgesSwitch = v.findViewById(R.id.switchCounterBadge);
|
||||||
Switch pdfModeSwitch = v.findViewById(R.id.switchPdfMode);
|
Switch pdfModeSwitch = v.findViewById(R.id.switchPdfMode);
|
||||||
TextView helpTranslate = v.findViewById(R.id.helpTranslate);
|
TextView helpTranslate = v.findViewById(R.id.helpTranslate);
|
||||||
|
|
||||||
helpTranslate.setOnClickListener(v12 -> {
|
helpTranslate.setOnClickListener(v12 -> {
|
||||||
|
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setAction(Intent.ACTION_VIEW);
|
intent.setAction(Intent.ACTION_VIEW);
|
||||||
intent.addCategory(Intent.CATEGORY_BROWSABLE);
|
intent.addCategory(Intent.CATEGORY_BROWSABLE);
|
||||||
intent.setData(Uri.parse(getResources().getString(R.string.crowdInLink)));
|
intent.setData(Uri.parse(getResources().getString(R.string.crowdInLink)));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if(!tinyDb.getString("localeStr").isEmpty()) {
|
if(!tinyDb.getString("localeStr").isEmpty()) {
|
||||||
tvLanguageSelected.setText(tinyDb.getString("localeStr"));
|
tvLanguageSelected.setText(tinyDb.getString("localeStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tinyDb.getString("timeStr").isEmpty()) {
|
if(!tinyDb.getString("timeStr").isEmpty()) {
|
||||||
tvDateTimeSelected.setText(tinyDb.getString("timeStr"));
|
tvDateTimeSelected.setText(tinyDb.getString("timeStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tinyDb.getString("codeBlockStr").isEmpty()) {
|
if(!tinyDb.getString("codeBlockStr").isEmpty()) {
|
||||||
codeBlockSelected.setText(tinyDb.getString("codeBlockStr"));
|
codeBlockSelected.setText(tinyDb.getString("codeBlockStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tinyDb.getString("homeScreenStr").isEmpty()) {
|
if(!tinyDb.getString("homeScreenStr").isEmpty()) {
|
||||||
homeScreenSelected.setText(tinyDb.getString("homeScreenStr"));
|
homeScreenSelected.setText(tinyDb.getString("homeScreenStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tinyDb.getString("customFontStr").isEmpty()) {
|
if(!tinyDb.getString("customFontStr").isEmpty()) {
|
||||||
customFontSelected.setText(tinyDb.getString("customFontStr"));
|
customFontSelected.setText(tinyDb.getString("customFontStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tinyDb.getString("themeStr").isEmpty()) {
|
if(!tinyDb.getString("themeStr").isEmpty()) {
|
||||||
themeSelected.setText(tinyDb.getString("themeStr"));
|
themeSelected.setText(tinyDb.getString("themeStr"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(langSelectedChoice == 0) {
|
if(langSelectedChoice == 0) {
|
||||||
langSelectedChoice = tinyDb.getInt("langId");
|
langSelectedChoice = tinyDb.getInt("langId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(timeSelectedChoice == 0) {
|
if(timeSelectedChoice == 0) {
|
||||||
timeSelectedChoice = tinyDb.getInt("timeId");
|
timeSelectedChoice = tinyDb.getInt("timeId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(codeBlockSelectedChoice == 0) {
|
if(codeBlockSelectedChoice == 0) {
|
||||||
codeBlockSelectedChoice = tinyDb.getInt("codeBlockId");
|
codeBlockSelectedChoice = tinyDb.getInt("codeBlockId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(homeScreenSelectedChoice == 0) {
|
if(homeScreenSelectedChoice == 0) {
|
||||||
homeScreenSelectedChoice = tinyDb.getInt("homeScreenId");
|
homeScreenSelectedChoice = tinyDb.getInt("homeScreenId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(customFontSelectedChoice == 0) {
|
if(customFontSelectedChoice == 0) {
|
||||||
customFontSelectedChoice = tinyDb.getInt("customFontId");
|
customFontSelectedChoice = tinyDb.getInt("customFontId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(themeSelectedChoice == 0) {
|
if(themeSelectedChoice == 0) {
|
||||||
themeSelectedChoice = tinyDb.getInt("themeId");
|
themeSelectedChoice = tinyDb.getInt("themeId");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tinyDb.getBoolean("enableCounterBadges")) {
|
if(tinyDb.getBoolean("enableCounterBadges")) {
|
||||||
counterBadgesSwitch.setChecked(true);
|
counterBadgesSwitch.setChecked(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
counterBadgesSwitch.setChecked(false);
|
counterBadgesSwitch.setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tinyDb.getBoolean("enablePdfMode")) {
|
if(tinyDb.getBoolean("enablePdfMode")) {
|
||||||
pdfModeSwitch.setChecked(true);
|
pdfModeSwitch.setChecked(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pdfModeSwitch.setChecked(false);
|
pdfModeSwitch.setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// certs deletion
|
// certs deletion
|
||||||
certsFrame.setOnClickListener(v1 -> {
|
certsFrame.setOnClickListener(v1 -> {
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
|
||||||
builder.setTitle(getResources().getString(R.string.settingsCertsPopupTitle));
|
builder.setTitle(getResources().getString(R.string.settingsCertsPopupTitle));
|
||||||
builder.setMessage(getResources().getString(R.string.settingsCertsPopupMessage));
|
builder.setMessage(getResources().getString(R.string.settingsCertsPopupMessage));
|
||||||
builder.setPositiveButton(R.string.menuDeleteText, (dialog, which) -> {
|
builder.setPositiveButton(R.string.menuDeleteText, (dialog, which) -> {
|
||||||
|
|
||||||
ctx.getSharedPreferences(MemorizingTrustManager.KEYSTORE_NAME, Context.MODE_PRIVATE)
|
ctx.getSharedPreferences(MemorizingTrustManager.KEYSTORE_NAME, Context.MODE_PRIVATE).edit().remove(MemorizingTrustManager.KEYSTORE_KEY).apply();
|
||||||
.edit()
|
|
||||||
.remove(MemorizingTrustManager.KEYSTORE_KEY)
|
|
||||||
.apply();
|
|
||||||
|
|
||||||
MainActivity.logout(Objects.requireNonNull(getActivity()), ctx);
|
MainActivity.logout(Objects.requireNonNull(getActivity()), ctx);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.setNeutralButton(R.string.cancelButton, (dialog, which) -> dialog.dismiss());
|
builder.setNeutralButton(R.string.cancelButton, (dialog, which) -> dialog.dismiss());
|
||||||
builder.create().show();
|
builder.create().show();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// counter badge switcher
|
// counter badge switcher
|
||||||
counterBadgesSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
counterBadgesSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||||
|
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
tinyDb.putBoolean("enableCounterBadges", true);
|
tinyDb.putBoolean("enableCounterBadges", true);
|
||||||
tinyDb.putString("enableCounterBadgesInit", "yes");
|
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tinyDb.putBoolean("enableCounterBadges", false);
|
tinyDb.putBoolean("enableCounterBadges", false);
|
||||||
tinyDb.putString("enableCounterBadgesInit", "yes");
|
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// pdf night mode switcher
|
// pdf night mode switcher
|
||||||
pdfModeSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
pdfModeSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||||
|
|
||||||
if (isChecked) {
|
if(isChecked) {
|
||||||
tinyDb.putBoolean("enablePdfMode", true);
|
tinyDb.putBoolean("enablePdfMode", true);
|
||||||
tinyDb.putString("enablePdfModeInit", "yes");
|
tinyDb.putString("enablePdfModeInit", "yes");
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tinyDb.putBoolean("enablePdfMode", false);
|
tinyDb.putBoolean("enablePdfMode", false);
|
||||||
tinyDb.putString("enablePdfModeInit", "yes");
|
tinyDb.putString("enablePdfModeInit", "yes");
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// theme selection dialog
|
// theme selection dialog
|
||||||
themeFrame.setOnClickListener(view -> {
|
themeFrame.setOnClickListener(view -> {
|
||||||
|
|
||||||
AlertDialog.Builder tsBuilder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder tsBuilder = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
tsBuilder.setTitle(R.string.themeSelectorDialogTitle);
|
tsBuilder.setTitle(R.string.themeSelectorDialogTitle);
|
||||||
if(themeSelectedChoice != -1) {
|
if(themeSelectedChoice != -1) {
|
||||||
tsBuilder.setCancelable(true);
|
tsBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tsBuilder.setCancelable(false);
|
tsBuilder.setCancelable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
tsBuilder.setSingleChoiceItems(themeList, themeSelectedChoice, (dialogInterfaceTheme, i) -> {
|
tsBuilder.setSingleChoiceItems(themeList, themeSelectedChoice, (dialogInterfaceTheme, i) -> {
|
||||||
|
|
||||||
themeSelectedChoice = i;
|
themeSelectedChoice = i;
|
||||||
themeSelected.setText(themeList[i]);
|
themeSelected.setText(themeList[i]);
|
||||||
tinyDb.putString("themeStr", themeList[i]);
|
tinyDb.putString("themeStr", themeList[i]);
|
||||||
tinyDb.putInt("themeId", i);
|
tinyDb.putInt("themeId", i);
|
||||||
|
|
||||||
Objects.requireNonNull(getActivity()).recreate();
|
Objects.requireNonNull(getActivity()).recreate();
|
||||||
getActivity().overridePendingTransition(0, 0);
|
getActivity().overridePendingTransition(0, 0);
|
||||||
dialogInterfaceTheme.dismiss();
|
dialogInterfaceTheme.dismiss();
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog cfDialog = tsBuilder.create();
|
AlertDialog cfDialog = tsBuilder.create();
|
||||||
cfDialog.show();
|
cfDialog.show();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// custom font dialog
|
// custom font dialog
|
||||||
customFontFrame.setOnClickListener(view -> {
|
customFontFrame.setOnClickListener(view -> {
|
||||||
|
|
||||||
AlertDialog.Builder cfBuilder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder cfBuilder = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
cfBuilder.setTitle(R.string.settingsCustomFontSelectorDialogTitle);
|
cfBuilder.setTitle(R.string.settingsCustomFontSelectorDialogTitle);
|
||||||
if(customFontSelectedChoice != -1) {
|
if(customFontSelectedChoice != -1) {
|
||||||
cfBuilder.setCancelable(true);
|
cfBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cfBuilder.setCancelable(false);
|
cfBuilder.setCancelable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
cfBuilder.setSingleChoiceItems(customFontList, customFontSelectedChoice, (dialogInterfaceCustomFont, i) -> {
|
cfBuilder.setSingleChoiceItems(customFontList, customFontSelectedChoice, (dialogInterfaceCustomFont, i) -> {
|
||||||
|
|
||||||
customFontSelectedChoice = i;
|
customFontSelectedChoice = i;
|
||||||
customFontSelected.setText(customFontList[i]);
|
customFontSelected.setText(customFontList[i]);
|
||||||
tinyDb.putString("customFontStr", customFontList[i]);
|
tinyDb.putString("customFontStr", customFontList[i]);
|
||||||
tinyDb.putInt("customFontId", i);
|
tinyDb.putInt("customFontId", i);
|
||||||
|
|
||||||
Objects.requireNonNull(getActivity()).recreate();
|
Objects.requireNonNull(getActivity()).recreate();
|
||||||
getActivity().overridePendingTransition(0, 0);
|
getActivity().overridePendingTransition(0, 0);
|
||||||
dialogInterfaceCustomFont.dismiss();
|
dialogInterfaceCustomFont.dismiss();
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog cfDialog = cfBuilder.create();
|
AlertDialog cfDialog = cfBuilder.create();
|
||||||
cfDialog.show();
|
cfDialog.show();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// home screen dialog
|
// home screen dialog
|
||||||
homeScreenFrame.setOnClickListener(view -> {
|
homeScreenFrame.setOnClickListener(view -> {
|
||||||
|
|
||||||
AlertDialog.Builder hsBuilder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder hsBuilder = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
hsBuilder.setTitle(R.string.settingshomeScreenSelectorDialogTitle);
|
hsBuilder.setTitle(R.string.settingshomeScreenSelectorDialogTitle);
|
||||||
if(homeScreenSelectedChoice != -1) {
|
if(homeScreenSelectedChoice != -1) {
|
||||||
hsBuilder.setCancelable(true);
|
hsBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
hsBuilder.setCancelable(false);
|
hsBuilder.setCancelable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
hsBuilder.setSingleChoiceItems(homeScreenList, homeScreenSelectedChoice, (dialogInterfaceHomeScreen, i) -> {
|
hsBuilder.setSingleChoiceItems(homeScreenList, homeScreenSelectedChoice, (dialogInterfaceHomeScreen, i) -> {
|
||||||
|
|
||||||
homeScreenSelectedChoice = i;
|
homeScreenSelectedChoice = i;
|
||||||
homeScreenSelected.setText(homeScreenList[i]);
|
homeScreenSelected.setText(homeScreenList[i]);
|
||||||
tinyDb.putString("homeScreenStr", homeScreenList[i]);
|
tinyDb.putString("homeScreenStr", homeScreenList[i]);
|
||||||
tinyDb.putInt("homeScreenId", i);
|
tinyDb.putInt("homeScreenId", i);
|
||||||
|
|
||||||
dialogInterfaceHomeScreen.dismiss();
|
dialogInterfaceHomeScreen.dismiss();
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog hsDialog = hsBuilder.create();
|
AlertDialog hsDialog = hsBuilder.create();
|
||||||
hsDialog.show();
|
hsDialog.show();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// code block dialog
|
// code block dialog
|
||||||
codeBlockFrame.setOnClickListener(view -> {
|
codeBlockFrame.setOnClickListener(view -> {
|
||||||
|
|
||||||
AlertDialog.Builder cBuilder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder cBuilder = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
cBuilder.setTitle(R.string.settingsCodeBlockSelectorDialogTitle);
|
cBuilder.setTitle(R.string.settingsCodeBlockSelectorDialogTitle);
|
||||||
if(codeBlockSelectedChoice != -1) {
|
if(codeBlockSelectedChoice != -1) {
|
||||||
cBuilder.setCancelable(true);
|
cBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cBuilder.setCancelable(false);
|
cBuilder.setCancelable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
cBuilder.setSingleChoiceItems(codeBlockList, codeBlockSelectedChoice, (dialogInterfaceCodeBlock, i) -> {
|
cBuilder.setSingleChoiceItems(codeBlockList, codeBlockSelectedChoice, (dialogInterfaceCodeBlock, i) -> {
|
||||||
|
|
||||||
codeBlockSelectedChoice = i;
|
codeBlockSelectedChoice = i;
|
||||||
codeBlockSelected.setText(codeBlockList[i]);
|
codeBlockSelected.setText(codeBlockList[i]);
|
||||||
tinyDb.putString("codeBlockStr", codeBlockList[i]);
|
tinyDb.putString("codeBlockStr", codeBlockList[i]);
|
||||||
tinyDb.putInt("codeBlockId", i);
|
tinyDb.putInt("codeBlockId", i);
|
||||||
|
|
||||||
switch (codeBlockList[i]) {
|
switch(codeBlockList[i]) {
|
||||||
case "White - Black":
|
case "White - Black":
|
||||||
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.white));
|
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.white));
|
||||||
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
||||||
break;
|
break;
|
||||||
case "Grey - Black":
|
case "Grey - Black":
|
||||||
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorAccent));
|
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorAccent));
|
||||||
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
||||||
break;
|
break;
|
||||||
case "White - Grey":
|
case "White - Grey":
|
||||||
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.white));
|
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.white));
|
||||||
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.colorAccent));
|
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.colorAccent));
|
||||||
break;
|
break;
|
||||||
case "Dark - White":
|
case "Dark - White":
|
||||||
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorPrimary));
|
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorPrimary));
|
||||||
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.white));
|
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.white));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorLightGreen));
|
tinyDb.putInt("codeBlockColor", getResources().getColor(R.color.colorLightGreen));
|
||||||
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
tinyDb.putInt("codeBlockBackground", getResources().getColor(R.color.black));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
dialogInterfaceCodeBlock.dismiss();
|
dialogInterfaceCodeBlock.dismiss();
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog cDialog = cBuilder.create();
|
AlertDialog cDialog = cBuilder.create();
|
||||||
cDialog.show();
|
cDialog.show();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// language dialog
|
// language dialog
|
||||||
langFrame.setOnClickListener(view -> {
|
langFrame.setOnClickListener(view -> {
|
||||||
|
|
||||||
AlertDialog.Builder lBuilder = new AlertDialog.Builder(ctx);
|
AlertDialog.Builder lBuilder = new AlertDialog.Builder(ctx);
|
||||||
|
|
||||||
lBuilder.setTitle(R.string.settingsLanguageSelectorDialogTitle);
|
lBuilder.setTitle(R.string.settingsLanguageSelectorDialogTitle);
|
||||||
if(langSelectedChoice != -1) {
|
if(langSelectedChoice != -1) {
|
||||||
lBuilder.setCancelable(true);
|
lBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lBuilder.setCancelable(false);
|
lBuilder.setCancelable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
lBuilder.setSingleChoiceItems(langList, langSelectedChoice, (dialogInterface, i) -> {
|
lBuilder.setSingleChoiceItems(langList, langSelectedChoice, (dialogInterface, i) -> {
|
||||||
|
|
||||||
langSelectedChoice = i;
|
langSelectedChoice = i;
|
||||||
tvLanguageSelected.setText(langList[i]);
|
tvLanguageSelected.setText(langList[i]);
|
||||||
tinyDb.putString("localeStr", langList[i]);
|
tinyDb.putString("localeStr", langList[i]);
|
||||||
tinyDb.putInt("langId", i);
|
tinyDb.putInt("langId", i);
|
||||||
|
|
||||||
switch (langList[i]) {
|
switch(langList[i]) {
|
||||||
case "Arabic":
|
case "Arabic":
|
||||||
tinyDb.putString("locale", "ar");
|
tinyDb.putString("locale", "ar");
|
||||||
break;
|
break;
|
||||||
case "Chinese":
|
case "Chinese":
|
||||||
tinyDb.putString("locale", "zh");
|
tinyDb.putString("locale", "zh");
|
||||||
break;
|
break;
|
||||||
case "Finnish":
|
case "Finnish":
|
||||||
tinyDb.putString("locale", "fi");
|
tinyDb.putString("locale", "fi");
|
||||||
break;
|
break;
|
||||||
case "French":
|
case "French":
|
||||||
tinyDb.putString("locale", "fr");
|
tinyDb.putString("locale", "fr");
|
||||||
break;
|
break;
|
||||||
case "German":
|
case "German":
|
||||||
tinyDb.putString("locale", "de");
|
tinyDb.putString("locale", "de");
|
||||||
break;
|
break;
|
||||||
case "Italian":
|
case "Italian":
|
||||||
tinyDb.putString("locale", "it");
|
tinyDb.putString("locale", "it");
|
||||||
break;
|
break;
|
||||||
case "Latvian":
|
case "Latvian":
|
||||||
tinyDb.putString("locale", "lv");
|
tinyDb.putString("locale", "lv");
|
||||||
break;
|
break;
|
||||||
case "Persian":
|
case "Persian":
|
||||||
tinyDb.putString("locale", "fa");
|
tinyDb.putString("locale", "fa");
|
||||||
break;
|
break;
|
||||||
case "Portuguese/Brazilian":
|
case "Polish":
|
||||||
tinyDb.putString("locale", "pt");
|
tinyDb.putString("locale", "pl");
|
||||||
break;
|
break;
|
||||||
case "Russian":
|
case "Portuguese/Brazilian":
|
||||||
tinyDb.putString("locale", "ru");
|
tinyDb.putString("locale", "pt");
|
||||||
break;
|
break;
|
||||||
case "Serbian":
|
case "Russian":
|
||||||
tinyDb.putString("locale", "sr");
|
tinyDb.putString("locale", "ru");
|
||||||
break;
|
break;
|
||||||
case "Spanish":
|
case "Serbian":
|
||||||
tinyDb.putString("locale", "es");
|
tinyDb.putString("locale", "sr");
|
||||||
break;
|
break;
|
||||||
case "Turkish":
|
case "Spanish":
|
||||||
tinyDb.putString("locale", "tr");
|
tinyDb.putString("locale", "es");
|
||||||
break;
|
break;
|
||||||
case "Ukrainian":
|
case "Turkish":
|
||||||
tinyDb.putString("locale", "uk");
|
tinyDb.putString("locale", "tr");
|
||||||
break;
|
break;
|
||||||
default:
|
case "Ukrainian":
|
||||||
tinyDb.putString("locale", "en");
|
tinyDb.putString("locale", "uk");
|
||||||
break;
|
break;
|
||||||
}
|
default:
|
||||||
|
tinyDb.putString("locale", "en");
|
||||||
dialogInterface.dismiss();
|
break;
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
}
|
||||||
Objects.requireNonNull(getActivity()).recreate();
|
|
||||||
getActivity().overridePendingTransition(0, 0);
|
dialogInterface.dismiss();
|
||||||
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
});
|
Objects.requireNonNull(getActivity()).recreate();
|
||||||
|
getActivity().overridePendingTransition(0, 0);
|
||||||
lBuilder.setNegativeButton(getString(R.string.cancelButton), (dialog, which) -> dialog.dismiss());
|
|
||||||
|
});
|
||||||
AlertDialog lDialog = lBuilder.create();
|
|
||||||
lDialog.show();
|
lBuilder.setNegativeButton(getString(R.string.cancelButton), (dialog, which) -> dialog.dismiss());
|
||||||
|
|
||||||
});
|
AlertDialog lDialog = lBuilder.create();
|
||||||
|
lDialog.show();
|
||||||
// time n date dialog
|
|
||||||
timeFrame.setOnClickListener(view -> {
|
});
|
||||||
|
|
||||||
AlertDialog.Builder tBuilder = new AlertDialog.Builder(ctx);
|
// time n date dialog
|
||||||
|
timeFrame.setOnClickListener(view -> {
|
||||||
tBuilder.setTitle(R.string.settingsTimeSelectorDialogTitle);
|
|
||||||
if(timeSelectedChoice != -1) {
|
AlertDialog.Builder tBuilder = new AlertDialog.Builder(ctx);
|
||||||
tBuilder.setCancelable(true);
|
|
||||||
}
|
tBuilder.setTitle(R.string.settingsTimeSelectorDialogTitle);
|
||||||
else {
|
if(timeSelectedChoice != -1) {
|
||||||
tBuilder.setCancelable(false);
|
tBuilder.setCancelable(true);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
tBuilder.setSingleChoiceItems(timeList, timeSelectedChoice, (dialogInterfaceTime, i) -> {
|
tBuilder.setCancelable(false);
|
||||||
|
}
|
||||||
timeSelectedChoice = i;
|
|
||||||
tvDateTimeSelected.setText(timeList[i]);
|
tBuilder.setSingleChoiceItems(timeList, timeSelectedChoice, (dialogInterfaceTime, i) -> {
|
||||||
tinyDb.putString("timeStr", timeList[i]);
|
|
||||||
tinyDb.putInt("timeId", i);
|
timeSelectedChoice = i;
|
||||||
|
tvDateTimeSelected.setText(timeList[i]);
|
||||||
if ("Normal".equals(timeList[i])) {
|
tinyDb.putString("timeStr", timeList[i]);
|
||||||
tinyDb.putString("dateFormat", "normal");
|
tinyDb.putInt("timeId", i);
|
||||||
} else {
|
|
||||||
tinyDb.putString("dateFormat", "pretty");
|
if("Normal".equals(timeList[i])) {
|
||||||
}
|
tinyDb.putString("dateFormat", "normal");
|
||||||
|
}
|
||||||
dialogInterfaceTime.dismiss();
|
else {
|
||||||
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
tinyDb.putString("dateFormat", "pretty");
|
||||||
|
}
|
||||||
});
|
|
||||||
|
dialogInterfaceTime.dismiss();
|
||||||
AlertDialog tDialog = tBuilder.create();
|
Toasty.info(getContext(), getResources().getString(R.string.settingsSave));
|
||||||
tDialog.show();
|
|
||||||
|
});
|
||||||
});
|
|
||||||
|
AlertDialog tDialog = tBuilder.create();
|
||||||
return v;
|
tDialog.show();
|
||||||
|
|
||||||
}
|
});
|
||||||
|
|
||||||
@Override
|
return v;
|
||||||
public void onAttach(@NonNull Context context) {
|
|
||||||
|
}
|
||||||
super.onAttach(context);
|
|
||||||
ctx = context;
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
}
|
|
||||||
|
super.onAttach(context);
|
||||||
|
ctx = context;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package org.mian.gitnex.helpers;
|
package org.mian.gitnex.helpers;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import org.mian.gitnex.R;
|
||||||
|
import org.ocpsoft.prettytime.PrettyTime;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@ -25,6 +28,30 @@ public class TimeHelper {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String formatTime(Date date, Locale locale, String timeFormat, Context context) {
|
||||||
|
|
||||||
|
switch (timeFormat) {
|
||||||
|
|
||||||
|
case "pretty": {
|
||||||
|
PrettyTime prettyTime = new PrettyTime(Locale.getDefault());
|
||||||
|
return prettyTime.format(date);
|
||||||
|
}
|
||||||
|
|
||||||
|
case "normal": {
|
||||||
|
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", locale);
|
||||||
|
return formatter.format(date);
|
||||||
|
}
|
||||||
|
|
||||||
|
case "normal1": {
|
||||||
|
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + context.getResources().getString(R.string.timeAtText) + "' HH:mm", locale);
|
||||||
|
return formatter.format(date);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
public static String customDateFormatForToastDateFormat(Date customDate) {
|
public static String customDateFormatForToastDateFormat(Date customDate) {
|
||||||
|
|
||||||
DateFormat format = DateFormat.getDateTimeInstance();
|
DateFormat format = DateFormat.getDateTimeInstance();
|
||||||
|
@ -138,26 +138,10 @@ public class CommitsItems extends AbstractItem<CommitsItems, CommitsItems.ViewHo
|
|||||||
commitTitleVw.setText(item.getCommitTitle());
|
commitTitleVw.setText(item.getCommitTitle());
|
||||||
commitCommitterVw.setText(ctx.getString(R.string.commitCommittedBy, item.getcommitCommitter()));
|
commitCommitterVw.setText(ctx.getString(R.string.commitCommittedBy, item.getcommitCommitter()));
|
||||||
|
|
||||||
switch (timeFormat) {
|
commitDateVw.setText(TimeHelper.formatTime(item.getcommitDate(), new Locale(locale), timeFormat, ctx));
|
||||||
case "pretty": {
|
|
||||||
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
|
if(timeFormat.equals("pretty")) {
|
||||||
String createdTime = prettyTime.format(item.getcommitDate());
|
commitDateVw.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(item.getcommitDate()), ctx));
|
||||||
commitDateVw.setText(createdTime);
|
|
||||||
commitDateVw.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(item.getcommitDate()), ctx));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + ctx.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(item.getcommitDate());
|
|
||||||
commitDateVw.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "normal1": {
|
|
||||||
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + ctx.getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
|
|
||||||
String createdTime = formatter.format(item.getcommitDate());
|
|
||||||
commitDateVw.setText(createdTime);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
commitHtmlUrlVw.setText(Html.fromHtml("<a href='" + item.getCommitHtmlUrl() + "'>" + ctx.getResources().getString(R.string.viewInBrowser) + "</a> "));
|
commitHtmlUrlVw.setText(Html.fromHtml("<a href='" + item.getCommitHtmlUrl() + "'>" + ctx.getResources().getString(R.string.viewInBrowser) + "</a> "));
|
||||||
|
@ -23,7 +23,7 @@ public class UserRepositories {
|
|||||||
private String html_url;
|
private String html_url;
|
||||||
private String default_branch;
|
private String default_branch;
|
||||||
private Date created_at;
|
private Date created_at;
|
||||||
private String updated_at;
|
private Date updated_at;
|
||||||
private String clone_url;
|
private String clone_url;
|
||||||
private long size;
|
private long size;
|
||||||
private String ssh_url;
|
private String ssh_url;
|
||||||
@ -84,7 +84,7 @@ public class UserRepositories {
|
|||||||
return created_at;
|
return created_at;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUpdated_at() {
|
public Date getUpdated_at() {
|
||||||
return updated_at;
|
return updated_at;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,6 +212,19 @@
|
|||||||
|
|
||||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/addNewComment"
|
||||||
|
android:src="@drawable/ic_reply"
|
||||||
|
android:tint="@color/white"
|
||||||
|
android:layout_width="54dp"
|
||||||
|
android:layout_height="54dp"
|
||||||
|
android:layout_margin="15dp"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:background="@drawable/circle"
|
||||||
|
android:padding="@dimen/fab_padding"
|
||||||
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -30,18 +30,6 @@
|
|||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:padding="16dp" />
|
android:padding="16dp" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/replyToIssue"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:text="@string/replyToIssue"
|
|
||||||
android:drawableStart="@drawable/ic_reply"
|
|
||||||
android:drawablePadding="24dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:padding="16dp" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/mergePullRequest"
|
android:id="@+id/mergePullRequest"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:background="@drawable/circle"
|
android:background="@drawable/circle"
|
||||||
android:padding="12dp"
|
android:padding="@dimen/fab_padding"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:contentDescription="@string/addNewContent" />
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:background="@drawable/circle"
|
android:background="@drawable/circle"
|
||||||
android:padding="12dp"
|
android:padding="@dimen/fab_padding"
|
||||||
android:contentDescription="@string/addNewContent" />
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:background="@drawable/circle"
|
android:background="@drawable/circle"
|
||||||
android:padding="12dp"
|
android:padding="@dimen/fab_padding"
|
||||||
android:contentDescription="@string/addNewContent" />
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
@ -52,214 +53,267 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/repoMetaFrame"
|
android:id="@+id/repoMetaFrame"
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
android:id="@+id/repoMetaName"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/infoTabRepoName1"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/repoNameInfo"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoBlank"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoOwner1"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:layout_marginTop="15dp"/>
|
android:textSize="22sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="GitNex" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoOwnerInfo"
|
android:id="@+id/repoMetaDescription"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/infoTabRepoBlank"
|
android:layout_marginBottom="15dp"
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoDesc"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:layout_marginTop="15dp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/repoDescriptionInfo"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoBlank"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:autoLink="web"
|
android:autoLink="web"
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
android:ellipsize="end"
|
||||||
|
android:maxLines="3"
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoWebsite"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:layout_marginTop="15dp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/repoWebsiteInfo"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoBlank"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:textColorLink="@color/lightBlue"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoSize"
|
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/primaryTextColor"
|
tools:text="Android client for Gitea https://gitnex.com" />
|
||||||
android:layout_marginTop="15dp"/>
|
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/repoSizeInfo"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:text="@string/infoTabRepoZero"
|
android:layout_marginTop="20dp"
|
||||||
android:textIsSelectable="true"
|
android:baselineAligned="false"
|
||||||
android:textSize="14sp"
|
android:orientation="horizontal">
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
|
android:id="@+id/repoMetaStarsFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/repoStargazersInMenu"
|
||||||
|
app:srcCompat="@drawable/ic_star" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaStars"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/repoMetaPullRequestsFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/tabPullRequests"
|
||||||
|
app:srcCompat="@drawable/ic_merge" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaPullRequests"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/repoMetaForksFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/infoTabRepoForksCount"
|
||||||
|
app:srcCompat="@drawable/ic_forks_24" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaForks"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/repoMetaWatchersFrame"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/repoWatchersInMenu"
|
||||||
|
app:srcCompat="@drawable/ic_watchers" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaWatchers"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_marginTop="25dp"
|
||||||
|
android:layout_marginBottom="25dp"
|
||||||
|
android:alpha="0.2"
|
||||||
|
android:background="@color/lightGray" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:text="@string/infoTabRepoDefaultBranch"
|
android:layout_marginBottom="20dp"
|
||||||
android:textSize="16sp"
|
android:orientation="horizontal"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:paddingLeft="15dp"
|
||||||
android:layout_marginTop="15dp"/>
|
android:paddingRight="15dp">
|
||||||
|
|
||||||
<TextView
|
<ImageView
|
||||||
android:id="@+id/repoDefaultBranchInfo"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/repoWatchersInMenu"
|
||||||
|
app:srcCompat="@drawable/ic_file_download_24dp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="15dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/infoTabRepoSize"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaSize"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.9"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp"
|
||||||
|
tools:text="29" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:text="@string/infoTabRepoDefaultBranchText"
|
android:layout_marginBottom="20dp"
|
||||||
android:textIsSelectable="true"
|
android:orientation="horizontal"
|
||||||
android:textSize="14sp"
|
android:paddingLeft="15dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingRight="15dp">
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/infoTabRepoCreatedAt"
|
||||||
|
app:srcCompat="@drawable/ic_calendar" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="15dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/infoTabRepoCreatedAt"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/repoMetaCreatedAt"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.9"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp"
|
||||||
|
tools:text="29" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:text="@string/infoTabRepoSshUrl"
|
android:layout_marginBottom="20dp"
|
||||||
android:textSize="16sp"
|
android:orientation="horizontal"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:paddingLeft="15dp"
|
||||||
android:layout_marginTop="15dp"/>
|
android:paddingRight="15dp">
|
||||||
|
|
||||||
<TextView
|
<ImageView
|
||||||
android:id="@+id/repoSshUrlInfo"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:contentDescription="@string/infoTabRepoWebsite"
|
||||||
android:text="@string/infoTabRepoBlank"
|
app:srcCompat="@drawable/ic_link_24dp" />
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:textColorLink="@color/lightBlue"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/infoTabRepoCloneUrl"
|
android:layout_marginLeft="15dp"
|
||||||
android:textSize="16sp"
|
android:gravity="center_vertical"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:orientation="vertical">
|
||||||
android:layout_marginTop="15dp"/>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/repoCloneUrlInfo"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:text="@string/websiteText"
|
||||||
android:text="@string/infoTabRepoBlank"
|
android:textColor="?attr/primaryTextColor"
|
||||||
android:textIsSelectable="true"
|
android:textSize="16sp" />
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:textColorLink="@color/lightBlue"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/repoMetaWebsite"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:text="@string/infoTabRepoRepoUrl"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="16sp"
|
android:alpha="0.9"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:autoLink="web"
|
||||||
android:layout_marginTop="15dp"/>
|
android:textColorLink="@color/lightBlue"
|
||||||
|
android:textColor="?attr/primaryTextColor"
|
||||||
|
android:textSize="14sp"
|
||||||
|
tools:text="29" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
</LinearLayout>
|
||||||
android:id="@+id/repoRepoUrlInfo"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoBlank"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:textColorLink="@color/lightBlue"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
<Button
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/repoAdditionalButton"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:text="@string/infoTabRepoForksCount"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="16sp"
|
android:layout_gravity="center_horizontal"
|
||||||
android:textColor="?attr/primaryTextColor"
|
android:layout_marginTop="5dp"
|
||||||
android:layout_marginTop="15dp"/>
|
android:layout_marginBottom="20dp"
|
||||||
|
android:background="@drawable/shape_buttons"
|
||||||
<TextView
|
android:text="@string/infoShowMoreInformation"
|
||||||
android:id="@+id/repoForksCountInfo"
|
android:textColor="@color/btnTextColor" />
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoZero"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoCreatedAt"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:layout_marginTop="15dp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/repoCreatedAtInfo"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/infoTabRepoDummyTime"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:background="@drawable/circle"
|
android:background="@drawable/circle"
|
||||||
android:padding="12dp"
|
android:padding="@dimen/fab_padding"
|
||||||
android:contentDescription="@string/addNewContent" />
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
@ -49,7 +49,7 @@
|
|||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:background="@drawable/circle"
|
android:background="@drawable/circle"
|
||||||
android:padding="12dp"
|
android:padding="@dimen/fab_padding"
|
||||||
android:contentDescription="@string/addNewContent" />
|
android:contentDescription="@string/addNewContent" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">اسم المستخدم لازم</string>
|
<string name="emptyFieldUsername">اسم المستخدم لازم</string>
|
||||||
<string name="emptyFieldPassword">الكلمة السرية لازمة</string>
|
<string name="emptyFieldPassword">الكلمة السرية لازمة</string>
|
||||||
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">اسم المستودع فارغ</string>
|
<string name="repoNameErrorEmpty">اسم المستودع فارغ</string>
|
||||||
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Add Assignees</string>
|
<string name="addRemoveAssignees2">Add Assignees</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Select Entries</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Benutzername ist erforderlich</string>
|
<string name="emptyFieldUsername">Benutzername ist erforderlich</string>
|
||||||
<string name="emptyFieldPassword">Passwort ist erforderlich</string>
|
<string name="emptyFieldPassword">Passwort ist erforderlich</string>
|
||||||
<string name="checkNetConnection">Kann nicht auf das Netzwerk zugreifen. Bitte überprüfe die Internetverbindung</string>
|
<string name="checkNetConnection">Kann nicht auf das Netzwerk zugreifen. Bitte überprüfe die Internetverbindung</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Der Repository Name ist leer.</string>
|
<string name="repoNameErrorEmpty">Der Repository Name ist leer.</string>
|
||||||
<string name="repoNameErrorInvalid">Der Repository Name ist nicht gültig. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Der Repository Name ist nicht gültig. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository-Name ist reserviert</string>
|
<string name="repoNameErrorReservedName">Repository-Name ist reserviert</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Füge Zuständige hinzu</string>
|
<string name="addRemoveAssignees2">Füge Zuständige hinzu</string>
|
||||||
<string name="addRemoveAssignees">Zuständige hinzufügen/entfernen</string>
|
<string name="addRemoveAssignees">Zuständige hinzufügen/entfernen</string>
|
||||||
<string name="assigneesUpdated">Zuständige aktualisiert</string>
|
<string name="assigneesUpdated">Zuständige aktualisiert</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Einträge auswählen</string>
|
<string name="select_entry">Einträge auswählen</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Einmal</string>
|
<string name="mtm_decision_once">Einmal</string>
|
||||||
<string name="mtm_decision_abort">Abbrechen</string>
|
<string name="mtm_decision_abort">Abbrechen</string>
|
||||||
<string name="issueCommentShare">Kommentar teilen</string>
|
<string name="issueCommentShare">Kommentar teilen</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Se requiere el usuario</string>
|
<string name="emptyFieldUsername">Se requiere el usuario</string>
|
||||||
<string name="emptyFieldPassword">Se requiere la contraseña</string>
|
<string name="emptyFieldPassword">Se requiere la contraseña</string>
|
||||||
<string name="checkNetConnection">No se puede acceder a la red, por favor comprueba tu conexión a internet</string>
|
<string name="checkNetConnection">No se puede acceder a la red, por favor comprueba tu conexión a internet</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">El nombre del repositorio está vacío</string>
|
<string name="repoNameErrorEmpty">El nombre del repositorio está vacío</string>
|
||||||
<string name="repoNameErrorInvalid">El nombre del repositorio es inválido. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">El nombre del repositorio es inválido. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Nombre del repositorio reservado</string>
|
<string name="repoNameErrorReservedName">Nombre del repositorio reservado</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Add Assignees</string>
|
<string name="addRemoveAssignees2">Add Assignees</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Select Entries</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -73,6 +73,7 @@
|
|||||||
<string name="emptyFieldUsername">نام کاربری اجباری است</string>
|
<string name="emptyFieldUsername">نام کاربری اجباری است</string>
|
||||||
<string name="emptyFieldPassword">گذر واژه اجباری است</string>
|
<string name="emptyFieldPassword">گذر واژه اجباری است</string>
|
||||||
<string name="checkNetConnection">عدم دسترسی به شبکه، لطفا از برقراری ارتباط با اینترنت مطمئن شوید</string>
|
<string name="checkNetConnection">عدم دسترسی به شبکه، لطفا از برقراری ارتباط با اینترنت مطمئن شوید</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">نام مخزن خالی است</string>
|
<string name="repoNameErrorEmpty">نام مخزن خالی است</string>
|
||||||
<string name="repoNameErrorInvalid">نام مخزن اشتباه است. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">نام مخزن اشتباه است. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -310,6 +311,8 @@
|
|||||||
<string name="addRemoveAssignees2">Add Assignees</string>
|
<string name="addRemoveAssignees2">Add Assignees</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Select Entries</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
@ -480,4 +483,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Username is required</string>
|
<string name="emptyFieldUsername">Username is required</string>
|
||||||
<string name="emptyFieldPassword">Password is required</string>
|
<string name="emptyFieldPassword">Password is required</string>
|
||||||
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Repository name is empty</string>
|
<string name="repoNameErrorEmpty">Repository name is empty</string>
|
||||||
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Add Assignees</string>
|
<string name="addRemoveAssignees2">Add Assignees</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Select Entries</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -63,13 +63,14 @@
|
|||||||
<string name="logo">Se connecter à Gitea</string>
|
<string name="logo">Se connecter à Gitea</string>
|
||||||
<string name="urlInfoTooltip">1. Choisissez le protocole adéquat (HTTPS ou HTTP)\n2. Entrez l’URL de votre instance Gitea (ex : try.gitea.io)\n3. Si l’authentification à deux facteurs est activée pour votre compte, saisissez le code OTP\n4. Pour une authentification basique avec HTTP, utilisez NOMDUTILISATEUR@DOMAINE.COM dans le champ URL GITEA</string>
|
<string name="urlInfoTooltip">1. Choisissez le protocole adéquat (HTTPS ou HTTP)\n2. Entrez l’URL de votre instance Gitea (ex : try.gitea.io)\n3. Si l’authentification à deux facteurs est activée pour votre compte, saisissez le code OTP\n4. Pour une authentification basique avec HTTP, utilisez NOMDUTILISATEUR@DOMAINE.COM dans le champ URL GITEA</string>
|
||||||
<string name="loginFailed">Mauvais nom d’utilisateur/mot de passe</string>
|
<string name="loginFailed">Mauvais nom d’utilisateur/mot de passe</string>
|
||||||
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors.</string>
|
<string name="malformedUrl">Connexion impossible. Vérifiez que l’URL et le port sont corrects.</string>
|
||||||
<string name="protocolError">Il n’est recommandé d’utiliser le protocole HTTP que pour des tests en réseau local.</string>
|
<string name="protocolError">Il n’est recommandé d’utiliser le protocole HTTP que pour des tests en réseau local.</string>
|
||||||
<string name="malformedJson">JSON mal formé. Le serveur ne répond pas.</string>
|
<string name="malformedJson">JSON mal formé. Le serveur ne répond pas.</string>
|
||||||
<string name="emptyFieldURL">URL de l’instance requise</string>
|
<string name="emptyFieldURL">URL de l’instance requise</string>
|
||||||
<string name="emptyFieldUsername">Nom d’utilisateur requis</string>
|
<string name="emptyFieldUsername">Nom d’utilisateur requis</string>
|
||||||
<string name="emptyFieldPassword">Mot de passe requis</string>
|
<string name="emptyFieldPassword">Mot de passe requis</string>
|
||||||
<string name="checkNetConnection">Impossible d’accéder au réseau, veuillez vérifier votre connexion Internet</string>
|
<string name="checkNetConnection">Impossible d’accéder au réseau, veuillez vérifier votre connexion Internet</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Nom du dépôt requis</string>
|
<string name="repoNameErrorEmpty">Nom du dépôt requis</string>
|
||||||
<string name="repoNameErrorInvalid">Nom de dépôt invalide [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Nom de dépôt invalide [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Ce nom de dépôt est réservé</string>
|
<string name="repoNameErrorReservedName">Ce nom de dépôt est réservé</string>
|
||||||
@ -184,10 +185,10 @@
|
|||||||
<string name="noLabelsFound">Aucune étiquette</string>
|
<string name="noLabelsFound">Aucune étiquette</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="settingsLanguageHeaderText">Traduction</string>
|
<string name="settingsLanguageHeaderText">Traduction</string>
|
||||||
<string name="settingsSecurityHeader">Security</string>
|
<string name="settingsSecurityHeader">Sécurité</string>
|
||||||
<string name="settingsCertsSelectorHeader">Delete Trusted Certificates</string>
|
<string name="settingsCertsSelectorHeader">Supprimer les certificats de confiance</string>
|
||||||
<string name="settingsCertsPopupTitle">Delete Trusted Certificates?</string>
|
<string name="settingsCertsPopupTitle">Supprimer les certificats de confiance ?</string>
|
||||||
<string name="settingsCertsPopupMessage">Are you sure to delete any manually trusted certificate or hostname? \n\nYou will also be logged out.</string>
|
<string name="settingsCertsPopupMessage">Supprimer les nom d’hôtes et certificats ajoutés manuellement ? \n\nVous serez déconnecté.</string>
|
||||||
<string name="settingsDateTimeHeaderText">Date et heure</string>
|
<string name="settingsDateTimeHeaderText">Date et heure</string>
|
||||||
<string name="settingsSave">Réglages enregistrés</string>
|
<string name="settingsSave">Réglages enregistrés</string>
|
||||||
<string name="settingsLanguageSelectorHeader">Langue</string>
|
<string name="settingsLanguageSelectorHeader">Langue</string>
|
||||||
@ -210,7 +211,7 @@
|
|||||||
<string name="themeSelectionHeaderText">Thème</string>
|
<string name="themeSelectionHeaderText">Thème</string>
|
||||||
<string name="settingsPdfModeHeaderText">PDF mode nuit</string>
|
<string name="settingsPdfModeHeaderText">PDF mode nuit</string>
|
||||||
<string name="fileViewerHeader">Visionneuse de fichiers</string>
|
<string name="fileViewerHeader">Visionneuse de fichiers</string>
|
||||||
<string name="settingsCounterBadges">Counter Badges</string>
|
<string name="settingsCounterBadges">Compteurs</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="noMoreData">Aucune donnée</string>
|
<string name="noMoreData">Aucune donnée</string>
|
||||||
<string name="createLabel">Nouvelle étiquette</string>
|
<string name="createLabel">Nouvelle étiquette</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Ajouter des assignés</string>
|
<string name="addRemoveAssignees2">Ajouter des assignés</string>
|
||||||
<string name="addRemoveAssignees">Ajouter/supprimer des assignés</string>
|
<string name="addRemoveAssignees">Ajouter/supprimer des assignés</string>
|
||||||
<string name="assigneesUpdated">Assignés mis à jour</string>
|
<string name="assigneesUpdated">Assignés mis à jour</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Sélection des entrées</string>
|
<string name="select_entry">Sélection des entrées</string>
|
||||||
@ -465,16 +468,20 @@
|
|||||||
<string name="commitCommittedBy">Révision de %1$s</string>
|
<string name="commitCommittedBy">Révision de %1$s</string>
|
||||||
<string name="viewCommits">Voir révisions</string>
|
<string name="viewCommits">Voir révisions</string>
|
||||||
<!-- Memorizing Trust Manager -->
|
<!-- Memorizing Trust Manager -->
|
||||||
<string name="mtm_notification">Certificate Verification</string>
|
<string name="mtm_notification">Vérification du certificat</string>
|
||||||
<string name="mtm_accept_cert">Accept Unknown Certificate?</string>
|
<string name="mtm_accept_cert">Accepter le certificat inconnu ?</string>
|
||||||
<string name="mtm_trust_anchor">The server certificate is not signed by a known Certificate Authority.</string>
|
<string name="mtm_trust_anchor">Le certificat du serveur n’est pas signé par une autorité de certification connue.</string>
|
||||||
<string name="mtm_cert_expired">The server certificate is expired.</string>
|
<string name="mtm_cert_expired">Le certificat du serveur a expiré.</string>
|
||||||
<string name="mtm_accept_servername">Accept Mismatching Server Name?</string>
|
<string name="mtm_accept_servername">Accepter le nom de serveur incohérent ?</string>
|
||||||
<string name="mtm_hostname_mismatch">Server could not authenticate as \"%s\". The certificate is only valid for:</string>
|
<string name="mtm_hostname_mismatch">Le serveur ne peut s’authentifier comme « %s ». Le certificat est valide pour :</string>
|
||||||
<string name="mtm_connect_anyway">Do you want to connect anyway?</string>
|
<string name="mtm_connect_anyway">Se connecter malgré tout ?</string>
|
||||||
<string name="mtm_cert_details">Certificate details:</string>
|
<string name="mtm_cert_details">Détails du certificat :</string>
|
||||||
<string name="mtm_decision_always">Trust</string>
|
<string name="mtm_decision_always">Faire confiance</string>
|
||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Une fois</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abandonner</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Partager le commentaire</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -71,6 +71,7 @@ URL è richiesto</string>
|
|||||||
<string name="emptyFieldUsername">Nome utente obbligatorio</string>
|
<string name="emptyFieldUsername">Nome utente obbligatorio</string>
|
||||||
<string name="emptyFieldPassword">Password obbligatoria</string>
|
<string name="emptyFieldPassword">Password obbligatoria</string>
|
||||||
<string name="checkNetConnection">Errore di connessione. Controllare la connessione Internet</string>
|
<string name="checkNetConnection">Errore di connessione. Controllare la connessione Internet</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Il nome del repository è vuoto</string>
|
<string name="repoNameErrorEmpty">Il nome del repository è vuoto</string>
|
||||||
<string name="repoNameErrorInvalid">Nome del repository non è valido. [a–z A–Z 0–char@@9 – _]</string>
|
<string name="repoNameErrorInvalid">Nome del repository non è valido. [a–z A–Z 0–char@@9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -309,6 +310,8 @@ autorizzazione</string>
|
|||||||
<string name="addRemoveAssignees2">Aggiungi Assegnatari</string>
|
<string name="addRemoveAssignees2">Aggiungi Assegnatari</string>
|
||||||
<string name="addRemoveAssignees">Aggiungi/Rimuovi Assegnatari</string>
|
<string name="addRemoveAssignees">Aggiungi/Rimuovi Assegnatari</string>
|
||||||
<string name="assigneesUpdated">Assegnatari aggiornati</string>
|
<string name="assigneesUpdated">Assegnatari aggiornati</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Elementi selezionati</string>
|
<string name="select_entry">Elementi selezionati</string>
|
||||||
@ -479,4 +482,8 @@ autorizzazione</string>
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Username is required</string>
|
<string name="emptyFieldUsername">Username is required</string>
|
||||||
<string name="emptyFieldPassword">Password is required</string>
|
<string name="emptyFieldPassword">Password is required</string>
|
||||||
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
<string name="checkNetConnection">Cannot access network, please check your Internet connection</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Repository name is empty</string>
|
<string name="repoNameErrorEmpty">Repository name is empty</string>
|
||||||
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Repository name is not valid. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Add Assignees</string>
|
<string name="addRemoveAssignees2">Add Assignees</string>
|
||||||
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
<string name="addRemoveAssignees">Add / Remove Assignees</string>
|
||||||
<string name="assigneesUpdated">Assignees updated</string>
|
<string name="assigneesUpdated">Assignees updated</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Select Entries</string>
|
<string name="select_entry">Select Entries</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
487
app/src/main/res/values-pl/strings.xml
Normal file
487
app/src/main/res/values-pl/strings.xml
Normal file
@ -0,0 +1,487 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<!-- menu items -->
|
||||||
|
<string name="navMyRepos">Moje repozytoria</string>
|
||||||
|
<string name="navStarredRepos">Ulubione repozytoria</string>
|
||||||
|
<string name="navRepos">Repozytoria</string>
|
||||||
|
<string name="navProfile">Profil</string>
|
||||||
|
<string name="navSettings">Ustawienia</string>
|
||||||
|
<string name="navOrgs">Organizacje</string>
|
||||||
|
<string name="navAbout">O programie</string>
|
||||||
|
<string name="navRate">Oceń GitNex</string>
|
||||||
|
<string name="navLogout">Wyloguj się</string>
|
||||||
|
<string name="navExplore">Przeglądaj</string>
|
||||||
|
<!-- menu items -->
|
||||||
|
<!-- page titles -->
|
||||||
|
<string name="pageTitleAbout">O programie</string>
|
||||||
|
<string name="pageTitleHome">Strona główna</string>
|
||||||
|
<string name="pageTitleMyRepos">Moje repozytoria</string>
|
||||||
|
<string name="pageTitleRepositories">Repozytoria</string>
|
||||||
|
<string name="pageTitleProfile">Profil</string>
|
||||||
|
<string name="pageTitleNewRepo">Nowe repozytorium</string>
|
||||||
|
<string name="pageTitleOrganizations">Organizacje</string>
|
||||||
|
<string name="pageTitleIssues">Problemy</string>
|
||||||
|
<string name="pageTitleSettings">Ustawienia</string>
|
||||||
|
<string name="pageTitleCreateOrganization">Nowa organizacja</string>
|
||||||
|
<string name="pageTitleCreateMilestone">Nowy etap</string>
|
||||||
|
<string name="pageTitleCreateNewIssue">Nowy problem</string>
|
||||||
|
<string name="pageTitleCreateLabel">Nowa etykieta</string>
|
||||||
|
<string name="pageTitleCredits">Podziękowania</string>
|
||||||
|
<string name="pageTitleLabelUpdate">Aktualizuj etykietę</string>
|
||||||
|
<string name="pageTitleSponsors">Dawcy</string>
|
||||||
|
<string name="pageTitleStarredRepos">Ulubione repozytoria</string>
|
||||||
|
<string name="pageTitleCreateTeam">Nowy zespół</string>
|
||||||
|
<string name="pageTitleAddEmail">Dodaj adres e-mail</string>
|
||||||
|
<string name="pageTitleNewFile">Nowy plik</string>
|
||||||
|
<string name="pageTitleExplore">Przeglądaj</string>
|
||||||
|
<!-- page titles -->
|
||||||
|
<string name="appVersion">Wersja\u0020:\u0020</string>
|
||||||
|
<string name="appBuild">Build nr\u0020:\u0020</string>
|
||||||
|
<string name="repoName">Repozytorium demo</string>
|
||||||
|
<string name="repoFullname">Repozytorium z ORG</string>
|
||||||
|
<string name="repoDescription">Opis demo</string>
|
||||||
|
<string name="noData">Nie znaleziono repozytoriów</string>
|
||||||
|
<string name="orgName">Organizacja demo</string>
|
||||||
|
<string name="orgDescription">Opis demo</string>
|
||||||
|
<string name="noDataOrg">Nie znaleziono organizacji</string>
|
||||||
|
<string name="newCreateButtonCopy">Utwórz</string>
|
||||||
|
<string name="newUpdateButtonCopy">Aktualizuj</string>
|
||||||
|
<string name="newRepoTintCopy">Nazwa repozytorium</string>
|
||||||
|
<string name="newRepoDescTintCopy">Opis repozytorium</string>
|
||||||
|
<string name="newRepoPrivateCopy">Prywatny</string>
|
||||||
|
<string name="newRepoDescInfo">Maksymalnie 255 znaków</string>
|
||||||
|
<string name="newRepoOwner">Właściciel</string>
|
||||||
|
<string name="newOrgTintCopy">Nazwa organizacji</string>
|
||||||
|
<string name="newOrgDescTintCopy">Opis organizacji</string>
|
||||||
|
<string name="newOrgDescInfo">Maksymalnie 255 znaków</string>
|
||||||
|
<string name="userName">Nazwa użytkownika</string>
|
||||||
|
<string name="passWord">Hasło</string>
|
||||||
|
<string name="btnLogin">ZALOGUJ</string>
|
||||||
|
<string name="instanceUrl">Adres URL instancji</string>
|
||||||
|
<string name="navigation_drawer_open">Otwórz szufladę nawigacji</string>
|
||||||
|
<string name="navigation_drawer_close">Zamknij szufladę nawigacji</string>
|
||||||
|
<string name="logo">Zaloguj się do Gitea</string>
|
||||||
|
<string name="urlInfoTooltip">1- Wybierz poprawny protokół (https lub http). \n2- Wprowadź adres URL Gitea np: try.gitea.io. \n3- Jeśli włączyłeś 2FA dla swojego konta, wprowadź kod w polu OTP Code. \n4 - Dla podstawowej autoryzacji HTTP użyj NAZWAUŻYTKOWNIKA@STRONA.PL w polu URL.</string>
|
||||||
|
<string name="loginFailed">Nieprawidłowa nazwa użytkownika/hasło</string>
|
||||||
|
<string name="malformedUrl">Nie można połączyć się z hostem. Sprawdź swój adres URL lub port pod kątem jakichkolwiek błędów.</string>
|
||||||
|
<string name="protocolError">Nie zaleca się używania protokołu HTTP, chyba że testujesz w sieci lokalnej.</string>
|
||||||
|
<string name="malformedJson">Otrzymano błędne JSON. Odpowiedź serwera nie powiodła się.</string>
|
||||||
|
<string name="emptyFieldURL">Adres URL instancji jest wymagany</string>
|
||||||
|
<string name="emptyFieldUsername">Nazwa użytkownika jest wymagana</string>
|
||||||
|
<string name="emptyFieldPassword">Hasło jest wymagane</string>
|
||||||
|
<string name="checkNetConnection">Nie można uzyskać dostępu do sieci, sprawdź swoje połączenie internetowe</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
|
<string name="repoNameErrorEmpty">Nazwa repozytorium jest pusta</string>
|
||||||
|
<string name="repoNameErrorInvalid">Nazwa repozytorium jest nieprawidłowa. [a–z A–Z 0–9 – _]</string>
|
||||||
|
<string name="repoNameErrorReservedName">Nazwa repozytorium jest zarezerwowana</string>
|
||||||
|
<string name="repoNameErrorReservedPatterns">Nazwa repozytorium zawiera zarezerwowane słowa kluczowe</string>
|
||||||
|
<string name="repoDescError">Opis repozytorium przekracza limit 255 znaków</string>
|
||||||
|
<string name="repoCreated">Repozytorium utworzone pomyślnie</string>
|
||||||
|
<string name="repoCreatedError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="repoExistsError">Repozytorium o tej nazwie już istnieje pod wybranym właścicielem</string>
|
||||||
|
<string name="orgNameErrorEmpty">Nazwa organizacji jest pusta</string>
|
||||||
|
<string name="orgNameErrorInvalid">Nazwa organizacji jest nieprawidłowa, [a–z A–Z 0–9 – _]</string>
|
||||||
|
<string name="orgDescError">Opis organizacji przekracza limit 255 znaków</string>
|
||||||
|
<string name="orgCreated">Organizacja utworzona pomyślnie</string>
|
||||||
|
<string name="orgCreatedError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="orgExistsError">Organizacja już istnieje</string>
|
||||||
|
<string name="processingText">Przetwarzanie</string>
|
||||||
|
<string name="search">Szukaj</string>
|
||||||
|
<string name="wip">Prace w toku</string>
|
||||||
|
<string name="close">Zamknij</string>
|
||||||
|
<string name="addNewContent">Dodaj</string>
|
||||||
|
<string name="orgContentAvatar">Org</string>
|
||||||
|
<string name="repoContentAvatar">Repozytorium</string>
|
||||||
|
<string name="privateAvatar">Pri</string>
|
||||||
|
<string name="removeContent">Usuń</string>
|
||||||
|
<string name="genericApiStatusError">Instancja zwróciła błąd. Kod\u0020</string>
|
||||||
|
<string name="title_activity_repo_detail">Szczegółowa aktywność repozytorium</string>
|
||||||
|
<string name="tab_text_info">Szczegóły</string>
|
||||||
|
<string name="tab_text_files">Pliki</string>
|
||||||
|
<string name="tab_text_issues">Otwarte problemy</string>
|
||||||
|
<string name="tabItemCloseIssues">Zamknięte problemy</string>
|
||||||
|
<string name="tab_text_ml">Kamienie milowe</string>
|
||||||
|
<string name="tab_text_releases">Wydania</string>
|
||||||
|
<string name="tab_text_branches">Oddziały</string>
|
||||||
|
<string name="tab_text_labels">Etykiety</string>
|
||||||
|
<string name="action_settings">Ustawienia</string>
|
||||||
|
<string name="tab_text_collaborators">Współpracownicy</string>
|
||||||
|
<string name="tabPullRequests">Pull Requesty</string>
|
||||||
|
<string name="noDataIssueTab">Nie znaleziono problemów</string>
|
||||||
|
<string name="infoTabRepoName1">Repozytorium</string>
|
||||||
|
<string name="infoTabRepoOwner1">Właściciel</string>
|
||||||
|
<string name="infoTabRepoDesc">Opis</string>
|
||||||
|
<string name="infoTabRepoWebsite">Strona internetowa</string>
|
||||||
|
<string name="infoTabRepoSize">Rozmiar</string>
|
||||||
|
<string name="infoTabRepoDefaultBranch">Domyślna gałąź</string>
|
||||||
|
<string name="infoTabRepoSshUrl">Adres URL SSH</string>
|
||||||
|
<string name="infoTabRepoCloneUrl">Sklonuj adres URL</string>
|
||||||
|
<string name="infoTabRepoRepoUrl">Adres URL repozytorium</string>
|
||||||
|
<string name="infoTabRepoForksCount">Forki</string>
|
||||||
|
<string name="infoTabRepoCreatedAt">Utworzono</string>
|
||||||
|
<string name="infoTabRepoUpdatedAt">Ostatnia aktualizacja</string>
|
||||||
|
<string name="timeAtText">w</string>
|
||||||
|
<string name="createdText">Otwarty\u0020</string>
|
||||||
|
<string name="dueDateText">Termin</string>
|
||||||
|
<string name="issueStatusTextOpen">Status: otwarte</string>
|
||||||
|
<string name="issueStatusOpen">otwarte</string>
|
||||||
|
<string name="issueStatusTextClosed">Status: zamknięte</string>
|
||||||
|
<string name="issueStatusClosed">zamknięty</string>
|
||||||
|
<string name="issueCreator">Twórca:\u0020</string>
|
||||||
|
<string name="issueAssigneesText">Przypisani</string>
|
||||||
|
<string name="issueTypeIssue">Typ: Problem</string>
|
||||||
|
<string name="issueTypePullRequest">Typ: Pull Request</string>
|
||||||
|
<string name="issueCommenter">Komentujący:\u0020</string>
|
||||||
|
<string name="issueMilestone">Etap %1$s</string>
|
||||||
|
<string name="dueDate">Termin %1$s</string>
|
||||||
|
<string name="createdTime">Otwarto %1$s</string>
|
||||||
|
<string name="assignedTo">Przypisano do: %1$s</string>
|
||||||
|
<string name="commentButtonText">Komentarz</string>
|
||||||
|
<string name="commentEmptyError">Napisz swój komentarz</string>
|
||||||
|
<string name="commentSuccess">Komentarz wysłany</string>
|
||||||
|
<string name="commentError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="generalImgContentText">Awatar</string>
|
||||||
|
<string name="noDataMilestonesTab">Nie znaleziono kamieni milowych</string>
|
||||||
|
<string name="commitAuthor">Autor commit: %1$s</string>
|
||||||
|
<string name="commitHash">Hash commita \n%1$s%2$s</string>
|
||||||
|
<string name="releaseTitle">Tytuł wydania</string>
|
||||||
|
<string name="releaseDescription">Opis wydania</string>
|
||||||
|
<string name="releaseDownloadText">Pobrania</string>
|
||||||
|
<string name="releaseType">Typ wydania</string>
|
||||||
|
<string name="releaseZip">Wydaj Zip</string>
|
||||||
|
<string name="releaseTar">Wydaj Tar</string>
|
||||||
|
<string name="noDataReleasesTab">Nie znaleziono wydań</string>
|
||||||
|
<string name="releaseTag">Tag: %1$s</string>
|
||||||
|
<string name="collaboratorsNameToast">Współpracujący: %1$s</string>
|
||||||
|
<string name="noDataCollaboratorTab">Nie znaleziono współpracowników</string>
|
||||||
|
<string name="editText">Edytuj</string>
|
||||||
|
<string name="newMilestoneTitle">Tytuł</string>
|
||||||
|
<string name="newMilestoneDescription">Opis</string>
|
||||||
|
<string name="newMilestoneDueDate">Termin</string>
|
||||||
|
<string name="milestoneNameErrorEmpty">Tytuł etapu jest pusty</string>
|
||||||
|
<string name="milestoneNameErrorInvalid">Tytuł etapu jest nieprawidłowy. [a–z A–Z 0–9 – _]</string>
|
||||||
|
<string name="milestoneDescError">Opis etapu przekracza limit 255 znaków</string>
|
||||||
|
<string name="milestoneCreated">Etap został utworzony pomyślnie</string>
|
||||||
|
<string name="milestoneCreatedError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="milestoneDateEmpty">Proszę wybrać termin</string>
|
||||||
|
<string name="milestoneOpenIssues">Otwarte problemy: %1$d</string>
|
||||||
|
<string name="milestoneClosedIssues">Zamknięte problemy: %1$d</string>
|
||||||
|
<string name="newIssueSelectAssigneesListTitle">Wybierz przypisane osoby</string>
|
||||||
|
<string name="newIssueSelectLabelsListTitle">Wybierz etykiety</string>
|
||||||
|
<string name="newIssueDialogDone">Gotowe</string>
|
||||||
|
<string name="newIssueDialogCancel">Anuluj</string>
|
||||||
|
<string name="newIssueTitle">Tytuł</string>
|
||||||
|
<string name="newIssueAssigneesListTitle">Przypisani</string>
|
||||||
|
<string name="newIssueDescriptionTitle">Opis</string>
|
||||||
|
<string name="newIssueDueDateTitle">Termin</string>
|
||||||
|
<string name="newIssueMilestoneTitle">Etap</string>
|
||||||
|
<string name="newIssueLabelsTitle">Etykiety</string>
|
||||||
|
<string name="issueTitleEmpty">Tytuł problemu jest pusty</string>
|
||||||
|
<string name="issueDescriptionEmpty">Opis problemu jest pusty</string>
|
||||||
|
<string name="issueCreated">Nowy problem został pomyślnie utworzony</string>
|
||||||
|
<string name="issueCreatedError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="issueCreatedNoMilestone">Brak kamienia milowego</string>
|
||||||
|
<string name="noAssigneesFound">Nie znaleziono współpracowników</string>
|
||||||
|
<string name="noLabelsFound">Nie znaleziono etykiet</string>
|
||||||
|
<!-- settings -->
|
||||||
|
<string name="settingsLanguageHeaderText">Tłumaczenie</string>
|
||||||
|
<string name="settingsSecurityHeader">Bezpieczeństwo</string>
|
||||||
|
<string name="settingsCertsSelectorHeader">Usuń zaufane certyfikaty</string>
|
||||||
|
<string name="settingsCertsPopupTitle">Usunąć zaufane certyfikaty?</string>
|
||||||
|
<string name="settingsCertsPopupMessage">Czy na pewno chcesz usunąć wszystkie ręcznie zaufane certyfikaty lub nazwy hostów? \n\nZostaniesz również wylogowany.</string>
|
||||||
|
<string name="settingsDateTimeHeaderText">Data & Czas</string>
|
||||||
|
<string name="settingsSave">Ustawienia zapisane</string>
|
||||||
|
<string name="settingsLanguageSelectorHeader">Język</string>
|
||||||
|
<string name="settingsLanguageSelectedHeaderDefault">Angielski</string>
|
||||||
|
<string name="settingsAppearanceHeader">Wygląd</string>
|
||||||
|
<string name="settingsDateTimeHeaderDefault">Piękny</string>
|
||||||
|
<string name="settingsLanguageSelectorDialogTitle">Wybierz język</string>
|
||||||
|
<string name="settingsTimeSelectorDialogTitle">Wybierz format czasu</string>
|
||||||
|
<string name="settingsIssueBadgeHeaderText">Odznaka problemów</string>
|
||||||
|
<string name="settingsHelpTranslateText">Pomóż nam przetłumaczyć GitNex na Twój język</string>
|
||||||
|
<string name="codeBlockHeaderText">Kolor bloku kodu</string>
|
||||||
|
<string name="settingsCodeBlockSelectorDialogTitle">Wybór koloru bloku kodu</string>
|
||||||
|
<string name="settingsHomeScreenHeaderText">Ekran główny</string>
|
||||||
|
<string name="settingsHomeScreenSelectedText">Moje repozytoria</string>
|
||||||
|
<string name="settingshomeScreenSelectorDialogTitle">Wybierz ekran główny</string>
|
||||||
|
<string name="settingsCustomFontHeaderText">Czcionka</string>
|
||||||
|
<string name="settingsCustomFontSelectorDialogTitle">Wybierz czcionkę</string>
|
||||||
|
<string name="settingsCustomFontDefault">Roboto</string>
|
||||||
|
<string name="themeSelectorDialogTitle">Wybierz motyw aplikacji</string>
|
||||||
|
<string name="themeSelectionHeaderText">Motyw</string>
|
||||||
|
<string name="settingsPdfModeHeaderText">Tryb nocny PDF</string>
|
||||||
|
<string name="fileViewerHeader">Przeglądarka plików</string>
|
||||||
|
<string name="settingsCounterBadges">Odznaki liczników</string>
|
||||||
|
<!-- settings -->
|
||||||
|
<string name="noMoreData">Brak dostępnych danych</string>
|
||||||
|
<string name="createLabel">Nowa etykieta</string>
|
||||||
|
<string name="menuTitleText">Menu repozytorium</string>
|
||||||
|
<string name="labelName">Nazwa etykiety</string>
|
||||||
|
<string name="labelColor">Kolor etykiety</string>
|
||||||
|
<string name="labelEmptyError">Nazwa etykiety jest pusta</string>
|
||||||
|
<string name="labelNameError">Nazwa etykiety jest nieprawidłowa</string>
|
||||||
|
<string name="labelCreated">Etykieta utworzona.</string>
|
||||||
|
<string name="labelGeneralError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="labelUpdated">Etykieta zaktualizowana.</string>
|
||||||
|
<string name="noDataLabelsTab">Nie znaleziono etykiet</string>
|
||||||
|
<string name="labelMenuContentDesc">Opis</string>
|
||||||
|
<string name="labelMenuEdit">Edytuj</string>
|
||||||
|
<string name="labelMenuDelete">Usuń</string>
|
||||||
|
<string name="labelDeleteText">Etykieta usunięta</string>
|
||||||
|
<string name="labelDeleteErrorText">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="noDataBranchesTab">Nie znaleziono gałęzi</string>
|
||||||
|
<string name="creditsLogoDesign">Wygląd</string>
|
||||||
|
<string name="alertDialogTokenRevokedTitle">Błąd autoryzacji</string>
|
||||||
|
<string name="alertDialogTokenRevokedMessage">Wygląda na to, że Token Dostępu został odwołany LUB nie możesz zobaczyć tych treści. W przypadku cofnięcia tokenu, wyloguj się i zaloguj ponownie</string>
|
||||||
|
<string name="alertDialogTokenRevokedCopyNegativeButton">Anuluj</string>
|
||||||
|
<string name="alertDialogTokenRevokedCopyPositiveButton">Wyloguj się</string>
|
||||||
|
<string name="labelDeleteTitle">Usuń\u0020</string>
|
||||||
|
<string name="labelDeleteMessage">Czy na pewno chcesz usunąć tę etykietę?</string>
|
||||||
|
<string name="labelDeletePositiveButton">OK</string>
|
||||||
|
<string name="labelDeleteNegativeButton">Anuluj</string>
|
||||||
|
<!-- org tabbed layout str -->
|
||||||
|
<string name="title_activity_org_detail">Szczegółowa aktywność organizacji</string>
|
||||||
|
<string name="orgTabRepos">Repozytoria</string>
|
||||||
|
<string name="orgTabTeams">Drużyny</string>
|
||||||
|
<string name="orgTabMembers">Członkowie</string>
|
||||||
|
<string name="orgCreateTeam">Nowy zespół</string>
|
||||||
|
<string name="noDataTeams">Nie znaleziono drużyn</string>
|
||||||
|
<string name="teamTitle">Nazwa zespołu</string>
|
||||||
|
<string name="teamDescription">Opis zespołu</string>
|
||||||
|
<string name="teamPermission">Pozwolenie: %1$s</string>
|
||||||
|
<string name="noDataMembers">Nie znaleziono członków</string>
|
||||||
|
<string name="orgMember">Członkowie organizacji</string>
|
||||||
|
<string name="orgTeamMembers">Członkowie zespołu organizacji</string>
|
||||||
|
<!-- org tabbed layout str -->
|
||||||
|
<!-- create team -->
|
||||||
|
<string name="newTeamTitle">Nazwa zespołu</string>
|
||||||
|
<string name="newTeamDesc">Opis</string>
|
||||||
|
<string name="newTeamPermission">Uprawnienie</string>
|
||||||
|
<string name="newTeamAccessControls">Kontrola dostępu</string>
|
||||||
|
<string name="newTeamPermissionRead">Członkowie mogą przeglądać i sklonować repozytoria zespołu</string>
|
||||||
|
<string name="newTeamPermissionWrite">Członkowie mogą czytać i wysyłać do repozytoriów zespołu</string>
|
||||||
|
<string name="newTeamPermissionAdmin">Członkowie mogą ciągnąć i wypchać do repozytoriów zespołu i dodawać do nich współpracowników</string>
|
||||||
|
<string name="teamNameEmpty">Wprowadź nazwę zespołu</string>
|
||||||
|
<string name="teamNameError">Nazwa zespołu powinna zawierać tylko znaki alfanumeryczne, myślniki (-), podkreślenia (_) i kropki (.)</string>
|
||||||
|
<string name="teamPermissionEmpty">Proszę wybrać uprawnienia</string>
|
||||||
|
<string name="teamDescError">Opis zespołu ma niedozwolone znaki</string>
|
||||||
|
<string name="teamDescLimit">Opis zespołu ma więcej niż 100 znaków</string>
|
||||||
|
<string name="teamCreated">Zespół utworzony pomyślnie</string>
|
||||||
|
<string name="teamCreatedError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<!-- create team -->
|
||||||
|
<!-- edit comment -->
|
||||||
|
<string name="editCommentTitle">Edytuj komentarz</string>
|
||||||
|
<string name="editCommentButtonText">Edytuj</string>
|
||||||
|
<string name="editCommentUpdatedText">Komentarz zaktualizowany</string>
|
||||||
|
<!-- edit comment -->
|
||||||
|
<!-- add collaborator -->
|
||||||
|
<string name="addCollaboratorTitle">Dodaj / Usuń współpracownika</string>
|
||||||
|
<string name="addCollaboratorSearchHint">Szukaj użytkowników</string>
|
||||||
|
<string name="addCollaboratorViewUserDesc">Nazwa użytkownika</string>
|
||||||
|
<string name="removeCollaboratorTitle">Usuń\u0020</string>
|
||||||
|
<string name="removeCollaboratorMessage">Czy chcesz usunąć tego użytkownika z repozytorium?</string>
|
||||||
|
<string name="removeCollaboratorToastText">Użytkownik usunięty z repozytorium.</string>
|
||||||
|
<string name="addCollaboratorToastText">Użytkownik dodany do repozytorium.</string>
|
||||||
|
<!-- add collaborator -->
|
||||||
|
<!-- profile section -->
|
||||||
|
<string name="profileTabFollowers">Obserwujący</string>
|
||||||
|
<string name="profileTabFollowing">Obserwowane</string>
|
||||||
|
<string name="profileCreateNewEmailAddress">Dodaj adres e-mail</string>
|
||||||
|
<string name="profileEmailButton">Zapisz</string>
|
||||||
|
<string name="profileEmailTitle">Adres e-mail</string>
|
||||||
|
<string name="emailAddedText">Nowy e-mail został dodany.</string>
|
||||||
|
<string name="emailErrorEmpty">Adres e-mail jest pusty.</string>
|
||||||
|
<string name="emailErrorInvalid">Adres e-mail jest nieprawidłowy</string>
|
||||||
|
<string name="emailErrorInUse">Adres e-mail jest już używany</string>
|
||||||
|
<string name="emailTypeText">Podstawowy</string>
|
||||||
|
<string name="profileTabEmails">E-maile</string>
|
||||||
|
<!-- profile section -->
|
||||||
|
<!-- single issue section -->
|
||||||
|
<string name="singleIssueEditLabels">Dodaj / Usuń etykiety</string>
|
||||||
|
<string name="labelsUpdated">Etykiety zaktualizowane</string>
|
||||||
|
<string name="closeIssue">Zamknij problem</string>
|
||||||
|
<string name="replyToIssue">Dodaj komentarz</string>
|
||||||
|
<string name="editIssue">Edytuj problem</string>
|
||||||
|
<string name="reOpenIssue">Otwórz ponownie problem</string>
|
||||||
|
<string name="issueStateClosed">Problem zamknięty</string>
|
||||||
|
<string name="issueStateReopened">Problem ponownie otwarty</string>
|
||||||
|
<string name="addRemoveAssignees2">Dodaj przypisanych osób</string>
|
||||||
|
<string name="addRemoveAssignees">Dodaj / Usuń przypisanych osób</string>
|
||||||
|
<string name="assigneesUpdated">Zaktualizowano przypisanych</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
|
<!-- single issue section -->
|
||||||
|
<!-- multi select dialog -->
|
||||||
|
<string name="select_entry">Wybierz wpisy</string>
|
||||||
|
<string name="validation_text">Proszę wybrać co najmniej jedną opcję</string>
|
||||||
|
<string name="please_select_atleast">Proszę wybrać co najmniej </string>
|
||||||
|
<string name="you_can_only_select_upto">Możesz wybrać tylko do </string>
|
||||||
|
<string name="option"> opcja</string>
|
||||||
|
<string name="options"> opcje</string>
|
||||||
|
<string name="select_all">Zaznacz wszystkie</string>
|
||||||
|
<string name="de_select_all">Odznacz wszystkie</string>
|
||||||
|
<!-- multi select dialog -->
|
||||||
|
<string name="repoMetaData">Meta repozytorium</string>
|
||||||
|
<!-- admin -->
|
||||||
|
<string name="adminCreateNewUser">Dodaj nowego użytkownika</string>
|
||||||
|
<string name="adminUsers">Użytkownicy</string>
|
||||||
|
<string name="userRoleAdmin">Administrator</string>
|
||||||
|
<!-- admin -->
|
||||||
|
<!-- create user -->
|
||||||
|
<string name="userFullNameText">Pełna nazwa</string>
|
||||||
|
<string name="userEmail">E-mail</string>
|
||||||
|
<string name="userUserName">Nazwa użytkownika</string>
|
||||||
|
<string name="userPassword">Hasło</string>
|
||||||
|
<string name="userInvalidFullName">Nieprawidłowa pełna nazwa</string>
|
||||||
|
<string name="userInvalidUserName">Nieprawidłowa nazwa użytkownika</string>
|
||||||
|
<string name="userInvalidEmail">Nieprawidłowy adres e-mail</string>
|
||||||
|
<string name="userCreatedText">Nowy użytkownik został pomyślnie dodany</string>
|
||||||
|
<string name="userExistsError">Użytkownik już istnieje</string>
|
||||||
|
<!-- create user -->
|
||||||
|
<!-- edit issue -->
|
||||||
|
<string name="editIssueNavHeader">Edytuj problem #%1$s</string>
|
||||||
|
<string name="editIssueSuccessMessage">Zaktualizowano problem</string>
|
||||||
|
<!-- edit issue -->
|
||||||
|
<!-- release -->
|
||||||
|
<string name="createRelease">Nowe wydanie</string>
|
||||||
|
<string name="releaseTagNameText">Nazwa tagu</string>
|
||||||
|
<string name="releaseTitleText">Tytuł</string>
|
||||||
|
<string name="releaseContentText">Zawartość</string>
|
||||||
|
<string name="releaseTypeText">Oznacz jako wstępne wydanie</string>
|
||||||
|
<string name="releaseBranchText">Wybierz gałąź</string>
|
||||||
|
<string name="releaseDraftText">Szkic</string>
|
||||||
|
<string name="tagNameErrorEmpty">Nazwa tagu jest pusta</string>
|
||||||
|
<string name="titleErrorEmpty">Tytuł jest pusty</string>
|
||||||
|
<string name="releaseCreatedText">Utworzono nową wersję</string>
|
||||||
|
<!-- release -->
|
||||||
|
<string name="loginOTPError">Wprowadź kod OTP</string>
|
||||||
|
<string name="loginOTPTypeError">Kod OTP powinien być liczbami.</string>
|
||||||
|
<string name="loginOTP">Kod OTP (opcjonalnie)</string>
|
||||||
|
<string name="otpMessage">Wprowadź kod OTP, jeśli 2FA jest włączony</string>
|
||||||
|
<string name="openWebRepo">Otwórz w przeglądarce</string>
|
||||||
|
<string name="repoStargazersInMenu">Polubienia</string>
|
||||||
|
<string name="repoWatchersInMenu">Obserwatorzy</string>
|
||||||
|
<string name="noDataStargazers">Nie znaleziono gwiazdek</string>
|
||||||
|
<string name="noDataWatchers">Nie znaleziono obserwatorów</string>
|
||||||
|
<string name="starMember">Gwiazdka</string>
|
||||||
|
<string name="watcherMember">Obserwujący</string>
|
||||||
|
<string name="commitLinkBranchesTab">Commit</string>
|
||||||
|
<string name="zipArchiveDownloadReleasesTab">Archiwum ZIP</string>
|
||||||
|
<string name="tarArchiveDownloadReleasesTab">Archiwum Tar</string>
|
||||||
|
<!-- new file -->
|
||||||
|
<string name="newFileNameTintCopy">Nazwa pliku</string>
|
||||||
|
<string name="newFileBranchTintCopy">Nazwa nowego oddziału</string>
|
||||||
|
<string name="newFileContentTintCopy">Zawartość pliku</string>
|
||||||
|
<string name="newFileButtonCopy">Utwórz nowy plik</string>
|
||||||
|
<string name="newFileNameHintMessage">z folderem: app/test.md</string>
|
||||||
|
<string name="newFileMessageTintCopy">Wiadomość commitu</string>
|
||||||
|
<string name="newFileInvalidBranchName">Nieprawidłowa nazwa gałęzi, może zawierać tylko –,–z, 0–9</string>
|
||||||
|
<string name="newFileCommitMessageError">Wiadomość commitu jest zbyt długa</string>
|
||||||
|
<string name="newFileSuccessMessage">Nowy plik został utworzony</string>
|
||||||
|
<string name="newFileOldBranches">Bieżące oddziały</string>
|
||||||
|
<string name="newFileRequiredFields">Pola takie jak nazwa pliku, zawartość i wiadomość zatwierdzenia są wymagane</string>
|
||||||
|
<string name="newFileCurrentBranchMessage">Wybranie bieżącej gałęzi spowoduje wyłączenie nowej gałęzi</string>
|
||||||
|
<string name="newFileNewBranchMessage">np. nowa-gałąź</string>
|
||||||
|
<string name="newFileRequiredFieldNewBranchName">Nazwa nowej gałęzi nie może być pusta, jeśli nie wybrano bieżącej gałęzi</string>
|
||||||
|
<string name="strFilter">Filtr</string>
|
||||||
|
<string name="copyIssueUrl">Skopiuj adres URL zgłoszenia</string>
|
||||||
|
<string name="copyIssueUrlToastMsg">Adres URL skopiowany do schowka</string>
|
||||||
|
<string name="milestoneCompletion">%1$d\uFF05 zakończony</string>
|
||||||
|
<!-- files -->
|
||||||
|
<string name="noDataFilesTab">Nie znaleziono plików</string>
|
||||||
|
<string name="filesDirNotSupportedYet">Przeglądanie katalogu nie jest jeszcze obsługiwane</string>
|
||||||
|
<string name="filesGenericError">Przepraszamy, ten plik nie może być otworzony, ponieważ API zwrócił błąd</string>
|
||||||
|
<string name="filesBreadcrumb">Główny</string>
|
||||||
|
<!-- generic copy -->
|
||||||
|
<string name="okButton">OK</string>
|
||||||
|
<string name="doneButton">Gotowe</string>
|
||||||
|
<string name="cancelButton">Anuluj</string>
|
||||||
|
<string name="genericError">Coś poszło nie tak, spróbuj ponownie</string>
|
||||||
|
<string name="apiNotFound">To żądanie wymaga wyższej wersji Gitea niż zainstalowana. Proszę zaktualizować swoją instancję do najnowszej wersji Gitea.</string>
|
||||||
|
<string name="noDataFound">Nie znaleziono danych</string>
|
||||||
|
<string name="addButton">Dodaj</string>
|
||||||
|
<string name="removeButton">Usuń</string>
|
||||||
|
<string name="authorizeError">Nie masz uprawnień do wykonania tej czynności.</string>
|
||||||
|
<string name="menuContentDesc">Menu</string>
|
||||||
|
<string name="menuEditText">Edytuj</string>
|
||||||
|
<string name="menuDeleteText">Usuń</string>
|
||||||
|
<string name="modifiedText">edytowano</string>
|
||||||
|
<string name="saveButton">Zapisz</string>
|
||||||
|
<string name="nameText">Nazwa</string>
|
||||||
|
<string name="descriptionText">Opis</string>
|
||||||
|
<string name="websiteText">Strona internetowa</string>
|
||||||
|
<string name="locationText">Lokalizacja</string>
|
||||||
|
<string name="characters255Limit">Maksymalnie 255 znaków</string>
|
||||||
|
<string name="emptyFields">Wszystkie pola są wymagane</string>
|
||||||
|
<string name="textContinue">Kontynuuj</string>
|
||||||
|
<string name="copyToken">Token</string>
|
||||||
|
<string name="viewInBrowser">Zobacz w przeglądarce</string>
|
||||||
|
<!-- generic copy -->
|
||||||
|
<string name="translateText">Przetłumacz GitNex z Crowdin</string>
|
||||||
|
<string name="exploreTextBoxHint">Przeglądaj repozytoria</string>
|
||||||
|
<string name="starRepository">Ogwiazdkuj repozytorium</string>
|
||||||
|
<string name="unStarRepository">Odgwiazdkuj repozytorium</string>
|
||||||
|
<string name="starRepositorySuccess">Repozytorium dodane do listy gwiazdkowanych</string>
|
||||||
|
<string name="unStarRepositorySuccess">Repozytorium usunięte z listy oznaczonych gwiazdką</string>
|
||||||
|
<string name="watchRepository">Obserwuj repozytorium</string>
|
||||||
|
<string name="unWatchRepository">Przestań obserwować repozytorium</string>
|
||||||
|
<string name="watchRepositorySuccess">Repozytorium dodane do listy obserwowanych</string>
|
||||||
|
<string name="unWatchRepositorySuccess">Repozytorium usunięte z listy obserwacyjnej</string>
|
||||||
|
<string name="versionUnsupportedOld">Wykryto nieobsługiwaną starą wersję(%1$s) Gitea. Proszę zaktualizować do najnowszej stabilnej wersji. Jeśli kontynuujesz, aplikacja może nie działać poprawnie.</string>
|
||||||
|
<string name="versionSupportedOld">Wykryto starą wersję Gitea, proszę zaktualizować do najnowszej stabilnej wersji</string>
|
||||||
|
<string name="versionUnsupportedNew">Wykryto nową wersję Gitea! Proszę AKTUALIZUJ GitNex!</string>
|
||||||
|
<string name="versionSupportedLatest">Wersja Gitea jest aktualna</string>
|
||||||
|
<string name="versionDevelopment">Wersja rozwojowa Gitea</string>
|
||||||
|
<string name="versionUnknow">Nie wykryto Gitea!</string>
|
||||||
|
<string name="versionAlertTitle">Powiadomienie o wersji</string>
|
||||||
|
<string name="versionAlertDialogHeader">Nieobsługiwana wersja Gitea</string>
|
||||||
|
<string name="loginViaPassword">Nazwa użytkownika / Hasło</string>
|
||||||
|
<string name="loginMethodText">Wybierz preferowaną metodę logowania, aby uzyskać dostęp do swojego konta. Token jest bezpieczniejszy!</string>
|
||||||
|
<string name="unauthorizedApiError">Instancja zwróciła błąd - nieautoryzowana. Sprawdź swoje dane i spróbuj ponownie</string>
|
||||||
|
<string name="loginTokenError">Wprowadź poprawny token</string>
|
||||||
|
<string name="noDataPullRequests">Nie znaleziono pull requestów</string>
|
||||||
|
<string name="prCreator">Twórca:\u0020</string>
|
||||||
|
<string name="editPrText">Edytuj Pull Request</string>
|
||||||
|
<string name="copyPrUrlText">Skopiuj Pull Request URL</string>
|
||||||
|
<string name="editPrNavHeader">Edytuj Pull Request #%1$s</string>
|
||||||
|
<string name="editPrSuccessMessage">Zaktualizowano Pull Request</string>
|
||||||
|
<string name="fileDiffViewHeader">%1$s Plików zmienionych</string>
|
||||||
|
<string name="fileDiffViewHeaderSingle">%1$s Plik zmieniony</string>
|
||||||
|
<string name="openFileDiffText">Pliki zmienione</string>
|
||||||
|
<string name="mergePullRequestText">Scal Pull Request</string>
|
||||||
|
<string name="mergePullRequestButtonText">Połącz</string>
|
||||||
|
<string name="mergeNoteText">Scalanie może się nie powieść, jeśli nie masz uprawnień do scalania Pull Request.</string>
|
||||||
|
<string name="mergeCommentText">Scal komentarz</string>
|
||||||
|
<string name="mergePRSuccessMsg">Pull Request został pomyślnie scalony</string>
|
||||||
|
<string name="mergePR404ErrorMsg">Pull Request nie jest dostępny do scalenia</string>
|
||||||
|
<string name="downloadFile">Pobierz ten plik</string>
|
||||||
|
<string name="waitLoadingDownloadFile">Poczekaj aż plik załaduje się do pamięci</string>
|
||||||
|
<string name="downloadFileSaved">Plik został zapisany do katalogu pobierania</string>
|
||||||
|
<string name="excludeFilesInFileviewer">Ten typ pliku nie jest obsługiwany w przeglądarce plików. Pobrać go z trzech kropkowanych menu?</string>
|
||||||
|
<string name="sizeCopy">Rozmiar</string>
|
||||||
|
<string name="shareIssue">Udostępnij problem</string>
|
||||||
|
<string name="sharePr">Udostępnij Pull Request</string>
|
||||||
|
<string name="shareRepository">Udostępnij repozytorium</string>
|
||||||
|
<string name="createRepository">Utwórz repozytorium</string>
|
||||||
|
<string name="repositoryTabCommits">Commity</string>
|
||||||
|
<string name="commitTitle">Commity gałęzi</string>
|
||||||
|
<string name="commitCommittedBy">Zcommitowane przez %1$s</string>
|
||||||
|
<string name="viewCommits">Zobacz commity</string>
|
||||||
|
<!-- Memorizing Trust Manager -->
|
||||||
|
<string name="mtm_notification">Weryfikacja certyfikatu</string>
|
||||||
|
<string name="mtm_accept_cert">Zaakceptować nieznany certyfikat?</string>
|
||||||
|
<string name="mtm_trust_anchor">Certyfikat serwera nie jest podpisany przez znany organ certyfikacji.</string>
|
||||||
|
<string name="mtm_cert_expired">Certyfikat serwera wygasł.</string>
|
||||||
|
<string name="mtm_accept_servername">Zaakceptować niepasującą nazwę serwera?</string>
|
||||||
|
<string name="mtm_hostname_mismatch">Serwer nie mógł uwierzytelnić jako \"%s\". Certyfikat jest ważny tylko dla:</string>
|
||||||
|
<string name="mtm_connect_anyway">Czy mimo to chcesz się połączyć?</string>
|
||||||
|
<string name="mtm_cert_details">Szczegóły certyfikatu:</string>
|
||||||
|
<string name="mtm_decision_always">Zaufaj</string>
|
||||||
|
<string name="mtm_decision_once">Raz</string>
|
||||||
|
<string name="mtm_decision_abort">Przerwij</string>
|
||||||
|
<string name="issueCommentShare">Udostępnij komentarz</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
|
</resources>
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Nome de usuário é necessário</string>
|
<string name="emptyFieldUsername">Nome de usuário é necessário</string>
|
||||||
<string name="emptyFieldPassword">A senha é necessária</string>
|
<string name="emptyFieldPassword">A senha é necessária</string>
|
||||||
<string name="checkNetConnection">Não é possível acessar a rede, por favor, verifique sua conexão com a Internet</string>
|
<string name="checkNetConnection">Não é possível acessar a rede, por favor, verifique sua conexão com a Internet</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Nome do repositório está vazio</string>
|
<string name="repoNameErrorEmpty">Nome do repositório está vazio</string>
|
||||||
<string name="repoNameErrorInvalid">O nome do repositório não é válido. [um–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">O nome do repositório não é válido. [um–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Adicionar Designados</string>
|
<string name="addRemoveAssignees2">Adicionar Designados</string>
|
||||||
<string name="addRemoveAssignees">Adicionar/Remover designados</string>
|
<string name="addRemoveAssignees">Adicionar/Remover designados</string>
|
||||||
<string name="assigneesUpdated">Designados atualizados</string>
|
<string name="assigneesUpdated">Designados atualizados</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Selecionar</string>
|
<string name="select_entry">Selecionar</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -63,17 +63,18 @@
|
|||||||
<string name="logo">Войти в Gitea</string>
|
<string name="logo">Войти в Gitea</string>
|
||||||
<string name="urlInfoTooltip">1. Выберите протокол (https или http) \n2. Укажите URL Gitea, например: try.gitea.io \n3. Если для учетной записи включена 2FA, введите код OTP в соответствующее поле. \n4. Для базовой аутентификации HTTP укажите USERNAME@DOMAIN.COM в поле URL.</string>
|
<string name="urlInfoTooltip">1. Выберите протокол (https или http) \n2. Укажите URL Gitea, например: try.gitea.io \n3. Если для учетной записи включена 2FA, введите код OTP в соответствующее поле. \n4. Для базовой аутентификации HTTP укажите USERNAME@DOMAIN.COM в поле URL.</string>
|
||||||
<string name="loginFailed">Неверные логин и/или пароль</string>
|
<string name="loginFailed">Неверные логин и/или пароль</string>
|
||||||
<string name="malformedUrl">Couldn\'t connect to host. Please check your URL or port for any errors.</string>
|
<string name="malformedUrl">Не удалось подключиться к хосту. Пожалуйста, проверьте URL-адрес или порт на наличие ошибок.</string>
|
||||||
<string name="protocolError">Не рекомендуется использовать протокол HTTP, если вы не тестируете инстанцию в локальной сети.</string>
|
<string name="protocolError">Не рекомендуется использовать протокол HTTP, если вы не тестируете инстанцию в локальной сети.</string>
|
||||||
<string name="malformedJson">Неожиданный ответ от сервера. Попробуйте сменить протокол или обратитесь к администратору инстанции.</string>
|
<string name="malformedJson">Неожиданный ответ от сервера. Попробуйте сменить протокол или обратитесь к администратору инстанции.</string>
|
||||||
<string name="emptyFieldURL">Требуется URL экземпляра</string>
|
<string name="emptyFieldURL">Требуется URL экземпляра</string>
|
||||||
<string name="emptyFieldUsername">Требуется имя пользователя</string>
|
<string name="emptyFieldUsername">Требуется имя пользователя</string>
|
||||||
<string name="emptyFieldPassword">Требуется пароль</string>
|
<string name="emptyFieldPassword">Требуется пароль</string>
|
||||||
<string name="checkNetConnection">Нет подключения к интернету, проверьте наличие связи.</string>
|
<string name="checkNetConnection">Нет подключения к интернету, проверьте наличие связи.</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Название репозитория пустое.</string>
|
<string name="repoNameErrorEmpty">Название репозитория пустое.</string>
|
||||||
<string name="repoNameErrorInvalid">Недоступное название репозитория. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Недоступное название репозитория. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Название репозитория зарезервировано</string>
|
||||||
<string name="repoNameErrorReservedPatterns">Repository name contains reserved keywords</string>
|
<string name="repoNameErrorReservedPatterns">Имя репозитория содержит зарезервированные ключевые слова</string>
|
||||||
<string name="repoDescError">Описание репозитория превышает 255 символов.</string>
|
<string name="repoDescError">Описание репозитория превышает 255 символов.</string>
|
||||||
<string name="repoCreated">Репозиторий успешно создан!</string>
|
<string name="repoCreated">Репозиторий успешно создан!</string>
|
||||||
<string name="repoCreatedError">Что-то пошло не так. Пожалуйста, попытайтесь еще раз.</string>
|
<string name="repoCreatedError">Что-то пошло не так. Пожалуйста, попытайтесь еще раз.</string>
|
||||||
@ -184,10 +185,10 @@
|
|||||||
<string name="noLabelsFound">Меток не обнаружено</string>
|
<string name="noLabelsFound">Меток не обнаружено</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="settingsLanguageHeaderText">Перевод</string>
|
<string name="settingsLanguageHeaderText">Перевод</string>
|
||||||
<string name="settingsSecurityHeader">Security</string>
|
<string name="settingsSecurityHeader">Безопасность</string>
|
||||||
<string name="settingsCertsSelectorHeader">Delete Trusted Certificates</string>
|
<string name="settingsCertsSelectorHeader">Удалить доверенные сертификаты</string>
|
||||||
<string name="settingsCertsPopupTitle">Delete Trusted Certificates?</string>
|
<string name="settingsCertsPopupTitle">Удалить доверенные сертификаты?</string>
|
||||||
<string name="settingsCertsPopupMessage">Are you sure to delete any manually trusted certificate or hostname? \n\nYou will also be logged out.</string>
|
<string name="settingsCertsPopupMessage">Вы уверены, что хотите удалить любой вручную доверенный сертификат или имя хоста? \n\nВы также выйдите из системы.</string>
|
||||||
<string name="settingsDateTimeHeaderText">Дата и время</string>
|
<string name="settingsDateTimeHeaderText">Дата и время</string>
|
||||||
<string name="settingsSave">Сохранено</string>
|
<string name="settingsSave">Сохранено</string>
|
||||||
<string name="settingsLanguageSelectorHeader">Язык</string>
|
<string name="settingsLanguageSelectorHeader">Язык</string>
|
||||||
@ -210,7 +211,7 @@
|
|||||||
<string name="themeSelectionHeaderText">Тема</string>
|
<string name="themeSelectionHeaderText">Тема</string>
|
||||||
<string name="settingsPdfModeHeaderText">Ночной режим PDF</string>
|
<string name="settingsPdfModeHeaderText">Ночной режим PDF</string>
|
||||||
<string name="fileViewerHeader">Просмотрщик файла</string>
|
<string name="fileViewerHeader">Просмотрщик файла</string>
|
||||||
<string name="settingsCounterBadges">Counter Badges</string>
|
<string name="settingsCounterBadges">Значки счётчика</string>
|
||||||
<!-- settings -->
|
<!-- settings -->
|
||||||
<string name="noMoreData">Больше даных нет</string>
|
<string name="noMoreData">Больше даных нет</string>
|
||||||
<string name="createLabel">Создание метки</string>
|
<string name="createLabel">Создание метки</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Добавить исполнителей</string>
|
<string name="addRemoveAssignees2">Добавить исполнителей</string>
|
||||||
<string name="addRemoveAssignees">Добавить / удалить исполнителей</string>
|
<string name="addRemoveAssignees">Добавить / удалить исполнителей</string>
|
||||||
<string name="assigneesUpdated">Исполнители обновлены</string>
|
<string name="assigneesUpdated">Исполнители обновлены</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Выбрать записи</string>
|
<string name="select_entry">Выбрать записи</string>
|
||||||
@ -412,7 +415,7 @@
|
|||||||
<string name="emptyFields">Все поля обязательны для заполнения</string>
|
<string name="emptyFields">Все поля обязательны для заполнения</string>
|
||||||
<string name="textContinue">Продолжить</string>
|
<string name="textContinue">Продолжить</string>
|
||||||
<string name="copyToken">Токен</string>
|
<string name="copyToken">Токен</string>
|
||||||
<string name="viewInBrowser">View in Browser</string>
|
<string name="viewInBrowser">Просмотреть в браузере</string>
|
||||||
<!-- generic copy -->
|
<!-- generic copy -->
|
||||||
<string name="translateText">Перевести GitNex на Crowdin</string>
|
<string name="translateText">Перевести GitNex на Crowdin</string>
|
||||||
<string name="exploreTextBoxHint">Просмотреть репозитории</string>
|
<string name="exploreTextBoxHint">Просмотреть репозитории</string>
|
||||||
@ -455,26 +458,30 @@
|
|||||||
<string name="waitLoadingDownloadFile">Пожалуйста дождитесь загрузки файла</string>
|
<string name="waitLoadingDownloadFile">Пожалуйста дождитесь загрузки файла</string>
|
||||||
<string name="downloadFileSaved">Файл сохранен в папку Загрузки</string>
|
<string name="downloadFileSaved">Файл сохранен в папку Загрузки</string>
|
||||||
<string name="excludeFilesInFileviewer">Этот тип файла не поддерживается в средстве просмотра файлов. Загрузить его?</string>
|
<string name="excludeFilesInFileviewer">Этот тип файла не поддерживается в средстве просмотра файлов. Загрузить его?</string>
|
||||||
<string name="sizeCopy">Size</string>
|
<string name="sizeCopy">Размер</string>
|
||||||
<string name="shareIssue">Share Issue</string>
|
<string name="shareIssue">Поделиться задачей</string>
|
||||||
<string name="sharePr">Share Pull Request</string>
|
<string name="sharePr">Поделиться запросом на слияние</string>
|
||||||
<string name="shareRepository">Share Repository</string>
|
<string name="shareRepository">Поделиться репозиторием</string>
|
||||||
<string name="createRepository">Create Repository</string>
|
<string name="createRepository">Создать репозиторий</string>
|
||||||
<string name="repositoryTabCommits">Commits</string>
|
<string name="repositoryTabCommits">Коммиты</string>
|
||||||
<string name="commitTitle">Branch Commits</string>
|
<string name="commitTitle">Коммиты ветки</string>
|
||||||
<string name="commitCommittedBy">Committed by %1$s</string>
|
<string name="commitCommittedBy">Коммит от %1$s</string>
|
||||||
<string name="viewCommits">View Commits</string>
|
<string name="viewCommits">Просмотр коммитов</string>
|
||||||
<!-- Memorizing Trust Manager -->
|
<!-- Memorizing Trust Manager -->
|
||||||
<string name="mtm_notification">Certificate Verification</string>
|
<string name="mtm_notification">Проверка сертификата</string>
|
||||||
<string name="mtm_accept_cert">Accept Unknown Certificate?</string>
|
<string name="mtm_accept_cert">Принять неизвестный сертификат?</string>
|
||||||
<string name="mtm_trust_anchor">The server certificate is not signed by a known Certificate Authority.</string>
|
<string name="mtm_trust_anchor">Сертификат сервера не подписан известным центром сертификации.</string>
|
||||||
<string name="mtm_cert_expired">The server certificate is expired.</string>
|
<string name="mtm_cert_expired">Срок действия сертификата сервера истек.</string>
|
||||||
<string name="mtm_accept_servername">Accept Mismatching Server Name?</string>
|
<string name="mtm_accept_servername">Имя сервера не совпадает. Принять?</string>
|
||||||
<string name="mtm_hostname_mismatch">Server could not authenticate as \"%s\". The certificate is only valid for:</string>
|
<string name="mtm_hostname_mismatch">Сервер не может быть опознан как \"%s\". Сертификат действителен только для:</string>
|
||||||
<string name="mtm_connect_anyway">Do you want to connect anyway?</string>
|
<string name="mtm_connect_anyway">Вы все равно хотите продолжить?</string>
|
||||||
<string name="mtm_cert_details">Certificate details:</string>
|
<string name="mtm_cert_details">Детали о сертификате:</string>
|
||||||
<string name="mtm_decision_always">Trust</string>
|
<string name="mtm_decision_always">Доверять</string>
|
||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Один раз</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Прервать</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Поделиться комментарием</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Корисничко име је обавезно</string>
|
<string name="emptyFieldUsername">Корисничко име је обавезно</string>
|
||||||
<string name="emptyFieldPassword">Лозинка је обавезна</string>
|
<string name="emptyFieldPassword">Лозинка је обавезна</string>
|
||||||
<string name="checkNetConnection">Не могу да приступим мрежи, провери интернет конекцију</string>
|
<string name="checkNetConnection">Не могу да приступим мрежи, провери интернет конекцију</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Назив репозиторијума је обавезан</string>
|
<string name="repoNameErrorEmpty">Назив репозиторијума је обавезан</string>
|
||||||
<string name="repoNameErrorInvalid">Назив репозиторијума није валидан [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Назив репозиторијума није валидан [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Додели</string>
|
<string name="addRemoveAssignees2">Додели</string>
|
||||||
<string name="addRemoveAssignees">Додај или уклони задужене</string>
|
<string name="addRemoveAssignees">Додај или уклони задужене</string>
|
||||||
<string name="assigneesUpdated">Задужења су ажурирана</string>
|
<string name="assigneesUpdated">Задужења су ажурирана</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Одабери</string>
|
<string name="select_entry">Одабери</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Kullanıcı adı gerekli</string>
|
<string name="emptyFieldUsername">Kullanıcı adı gerekli</string>
|
||||||
<string name="emptyFieldPassword">Parola gerekli</string>
|
<string name="emptyFieldPassword">Parola gerekli</string>
|
||||||
<string name="checkNetConnection">Ağa erişilemiyor, lütfen internet bağlantınızı kontrol edin</string>
|
<string name="checkNetConnection">Ağa erişilemiyor, lütfen internet bağlantınızı kontrol edin</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Depo adı boş</string>
|
<string name="repoNameErrorEmpty">Depo adı boş</string>
|
||||||
<string name="repoNameErrorInvalid">Depo adı geçerli değil. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Depo adı geçerli değil. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Atanan Ekle</string>
|
<string name="addRemoveAssignees2">Atanan Ekle</string>
|
||||||
<string name="addRemoveAssignees">Atanan Ekle/Kaldır</string>
|
<string name="addRemoveAssignees">Atanan Ekle/Kaldır</string>
|
||||||
<string name="assigneesUpdated">Atanan güncellendi</string>
|
<string name="assigneesUpdated">Atanan güncellendi</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Öğeleri Seç</string>
|
<string name="select_entry">Öğeleri Seç</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">Ім\'я користувача є обов\'язковим</string>
|
<string name="emptyFieldUsername">Ім\'я користувача є обов\'язковим</string>
|
||||||
<string name="emptyFieldPassword">Пароль є обов\'язковим</string>
|
<string name="emptyFieldPassword">Пароль є обов\'язковим</string>
|
||||||
<string name="checkNetConnection">Неможливо отримати доступ до мережі, будь ласка, перевірте підключення до Інтернету</string>
|
<string name="checkNetConnection">Неможливо отримати доступ до мережі, будь ласка, перевірте підключення до Інтернету</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">Назва репозиторія порожня</string>
|
<string name="repoNameErrorEmpty">Назва репозиторія порожня</string>
|
||||||
<string name="repoNameErrorInvalid">Назва репозиторія некоректна. [a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">Назва репозиторія некоректна. [a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">Додати виконавців</string>
|
<string name="addRemoveAssignees2">Додати виконавців</string>
|
||||||
<string name="addRemoveAssignees">Додати / Видалити виконавців</string>
|
<string name="addRemoveAssignees">Додати / Видалити виконавців</string>
|
||||||
<string name="assigneesUpdated">Виконавців оновлено</string>
|
<string name="assigneesUpdated">Виконавців оновлено</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">Обрати записи</string>
|
<string name="select_entry">Обрати записи</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
<string name="emptyFieldUsername">用户名必填</string>
|
<string name="emptyFieldUsername">用户名必填</string>
|
||||||
<string name="emptyFieldPassword">密码为必填</string>
|
<string name="emptyFieldPassword">密码为必填</string>
|
||||||
<string name="checkNetConnection">连接错误: 请检查您的网络连接</string>
|
<string name="checkNetConnection">连接错误: 请检查您的网络连接</string>
|
||||||
|
<string name="netConnectionIsBack">Yay, Internet connection is back</string>
|
||||||
<string name="repoNameErrorEmpty">仓库名称为空</string>
|
<string name="repoNameErrorEmpty">仓库名称为空</string>
|
||||||
<string name="repoNameErrorInvalid">仓库名称无效。[a–z A–Z 0–9 – _]</string>
|
<string name="repoNameErrorInvalid">仓库名称无效。[a–z A–Z 0–9 – _]</string>
|
||||||
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
<string name="repoNameErrorReservedName">Repository name is reserved</string>
|
||||||
@ -307,6 +308,8 @@
|
|||||||
<string name="addRemoveAssignees2">添加被指派人</string>
|
<string name="addRemoveAssignees2">添加被指派人</string>
|
||||||
<string name="addRemoveAssignees">添加/移除分配人</string>
|
<string name="addRemoveAssignees">添加/移除分配人</string>
|
||||||
<string name="assigneesUpdated">受让人已更新</string>
|
<string name="assigneesUpdated">受让人已更新</string>
|
||||||
|
<string name="singleIssueSubscribe">Subscribe</string>
|
||||||
|
<string name="singleIssueUnSubscribe">Unsubscribe</string>
|
||||||
<!-- single issue section -->
|
<!-- single issue section -->
|
||||||
<!-- multi select dialog -->
|
<!-- multi select dialog -->
|
||||||
<string name="select_entry">选择条目</string>
|
<string name="select_entry">选择条目</string>
|
||||||
@ -477,4 +480,8 @@
|
|||||||
<string name="mtm_decision_once">Once</string>
|
<string name="mtm_decision_once">Once</string>
|
||||||
<string name="mtm_decision_abort">Abort</string>
|
<string name="mtm_decision_abort">Abort</string>
|
||||||
<string name="issueCommentShare">Share Comment</string>
|
<string name="issueCommentShare">Share Comment</string>
|
||||||
|
<string name="issueSubscribtion">Issue Subscribed</string>
|
||||||
|
<string name="issueSubscribtionError">Issue Subscription failed</string>
|
||||||
|
<string name="issueUnsubscribtion">Issue Unsubscribed</string>
|
||||||
|
<string name="issueUnsubscribtionError">Issue Un-Subscription failed</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -6,5 +6,6 @@
|
|||||||
|
|
||||||
<dimen name="tooltipCornor">5dp</dimen>
|
<dimen name="tooltipCornor">5dp</dimen>
|
||||||
<dimen name="fab_margin">16dp</dimen>
|
<dimen name="fab_margin">16dp</dimen>
|
||||||
|
<dimen name="fab_padding">15dp</dimen>
|
||||||
<dimen name="appbar_padding_top">8dp</dimen>
|
<dimen name="appbar_padding_top">8dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -165,6 +165,9 @@
|
|||||||
<string name="infoTabRepoZero" translatable="false">0</string>
|
<string name="infoTabRepoZero" translatable="false">0</string>
|
||||||
<string name="infoTabRepoDefaultBranchText" translatable="false">master</string>
|
<string name="infoTabRepoDefaultBranchText" translatable="false">master</string>
|
||||||
|
|
||||||
|
<string name="infoShowMoreInformation">Show more information</string>
|
||||||
|
<string name="infoMoreInformation">More information</string>
|
||||||
|
|
||||||
<string name="timeAtText">at</string>
|
<string name="timeAtText">at</string>
|
||||||
<string name="hash" translatable="false">#</string>
|
<string name="hash" translatable="false">#</string>
|
||||||
<string name="createdText">Opened\u0020</string>
|
<string name="createdText">Opened\u0020</string>
|
||||||
@ -451,6 +454,7 @@
|
|||||||
<string name="repoWatchersInMenu">Watchers</string>
|
<string name="repoWatchersInMenu">Watchers</string>
|
||||||
<string name="noDataStargazers">No stars found</string>
|
<string name="noDataStargazers">No stars found</string>
|
||||||
<string name="noDataWatchers">No watchers found</string>
|
<string name="noDataWatchers">No watchers found</string>
|
||||||
|
<string name="noDataWebsite">No website found</string>
|
||||||
<string name="starMember">Star</string>
|
<string name="starMember">Star</string>
|
||||||
<string name="watcherMember">Watcher</string>
|
<string name="watcherMember">Watcher</string>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user