Revision 39061cb2
Added by Leszek Koltunski 2 days ago
| src/main/java/org/distorted/dialogs/DialogAbandon.java | ||
|---|---|---|
| 10 | 10 |
package org.distorted.dialogs; |
| 11 | 11 |
|
| 12 | 12 |
import android.app.Dialog; |
| 13 |
import android.util.TypedValue; |
|
| 13 | 14 |
import android.view.View; |
| 14 | 15 |
import android.widget.TextView; |
| 15 | 16 |
|
| ... | ... | |
| 24 | 25 |
public class DialogAbandon extends DialogAbstract |
| 25 | 26 |
{
|
| 26 | 27 |
public int getResource() { return R.layout.dialog_message; }
|
| 27 |
public int getTitleResource() { return -1; }
|
|
| 28 |
public int getTitleResource() { return R.string.abandon_solve; }
|
|
| 28 | 29 |
public boolean hasArgument() { return false; }
|
| 29 | 30 |
public int getPositive() { return R.string.yes; }
|
| 31 |
public int getNeutral() { return R.string.cancel; }
|
|
| 30 | 32 |
public int getNegative() { return R.string.no; }
|
| 31 |
public void negativeAction() { }
|
|
| 33 |
public void neutralAction() { }
|
|
| 32 | 34 |
|
| 33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 34 | 36 |
|
| 35 |
public void positiveAction()
|
|
| 37 |
public void negativeAction()
|
|
| 36 | 38 |
{
|
| 37 | 39 |
final PlayActivity act = (PlayActivity)getContext(); |
| 38 | 40 |
ScreenList.goBack(act); |
| 39 | 41 |
} |
| 40 | 42 |
|
| 43 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 44 |
|
|
| 45 |
public void positiveAction() |
|
| 46 |
{
|
|
| 47 |
final PlayActivity act = (PlayActivity)getContext(); |
|
| 48 |
|
|
| 49 |
if( act!=null ) |
|
| 50 |
{
|
|
| 51 |
act.rememberSolve(); |
|
| 52 |
ScreenList.goBack(act); |
|
| 53 |
} |
|
| 54 |
} |
|
| 55 |
|
|
| 41 | 56 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 42 | 57 |
|
| 43 | 58 |
public void prepareBody(Dialog dialog, View view, FragmentActivity act, float size) |
| 44 | 59 |
{
|
| 45 | 60 |
TextView mess = view.findViewById(R.id.dialog_message); |
| 46 |
mess.setText(R.string.abandon_solve); |
|
| 61 |
mess.setText(R.string.come_back_later); |
|
| 62 |
mess.setTextSize(TypedValue.COMPLEX_UNIT_PX, size); |
|
| 47 | 63 |
} |
| 48 | 64 |
} |
| src/main/java/org/distorted/dialogs/DialogAbout.java | ||
|---|---|---|
| 68 | 68 |
public int getTitleResource() { return PARAMETRIC_TITLE; }
|
| 69 | 69 |
public boolean hasArgument() { return true; }
|
| 70 | 70 |
public int getPositive() { return R.string.ok; }
|
| 71 |
public int getNeutral() { return -1; }
|
|
| 71 | 72 |
public int getNegative() { return -1; }
|
| 72 | 73 |
public void positiveAction() { }
|
| 73 | 74 |
public void negativeAction() { }
|
| 75 |
public void neutralAction() { }
|
|
| 74 | 76 |
|
| 75 | 77 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 76 | 78 |
|
| src/main/java/org/distorted/dialogs/DialogAbstract.java | ||
|---|---|---|
| 14 | 14 |
import android.os.Bundle; |
| 15 | 15 |
import android.util.DisplayMetrics; |
| 16 | 16 |
import android.util.TypedValue; |
| 17 |
import android.view.Gravity; |
|
| 17 | 18 |
import android.view.LayoutInflater; |
| 18 | 19 |
import android.view.View; |
| 19 | 20 |
import android.view.Window; |
| 20 | 21 |
import android.widget.Button; |
| 22 |
import android.widget.LinearLayout; |
|
| 21 | 23 |
import android.widget.TextView; |
| 22 | 24 |
|
| 23 | 25 |
import androidx.annotation.NonNull; |
| 24 | 26 |
import androidx.appcompat.app.AlertDialog; |
| 25 | 27 |
import androidx.appcompat.app.AppCompatDialogFragment; |
| 28 |
import androidx.core.content.ContextCompat; |
|
| 26 | 29 |
import androidx.fragment.app.FragmentActivity; |
| 27 | 30 |
|
| 28 | 31 |
import org.distorted.helpers.BaseActivity; |
| ... | ... | |
| 44 | 47 |
abstract int getResource(); |
| 45 | 48 |
abstract int getTitleResource(); |
| 46 | 49 |
abstract int getPositive(); |
| 50 |
abstract int getNeutral(); |
|
| 47 | 51 |
abstract int getNegative(); |
| 48 | 52 |
abstract boolean hasArgument(); |
| 49 | 53 |
abstract void positiveAction(); |
| 54 |
abstract void neutralAction(); |
|
| 50 | 55 |
abstract void negativeAction(); |
| 51 | 56 |
abstract void prepareBody(Dialog dialog, View view, FragmentActivity act, float size); |
| 52 | 57 |
|
| ... | ... | |
| 69 | 74 |
{
|
| 70 | 75 |
Button pos = dialog.getButton(Dialog.BUTTON_POSITIVE); |
| 71 | 76 |
if( pos!=null ) pos.setTextSize(TypedValue.COMPLEX_UNIT_PX, mButSize); |
| 77 |
|
|
| 72 | 78 |
Button neg = dialog.getButton(Dialog.BUTTON_NEGATIVE); |
| 73 | 79 |
if( neg!=null ) neg.setTextSize(TypedValue.COMPLEX_UNIT_PX, mButSize); |
| 80 |
|
|
| 81 |
Button neu = dialog.getButton(Dialog.BUTTON_NEUTRAL); |
|
| 82 |
if( neu!=null && getNeutral()>=0 ) |
|
| 83 |
{
|
|
| 84 |
neu.setTextSize(TypedValue.COMPLEX_UNIT_PX, mButSize); |
|
| 85 |
neu.setTextColor(ContextCompat.getColor(requireContext(), android.R.color.white)); |
|
| 86 |
} |
|
| 74 | 87 |
} |
| 75 | 88 |
} |
| 76 | 89 |
|
| ... | ... | |
| 89 | 102 |
mWidth = displaymetrics.widthPixels; |
| 90 | 103 |
mHeight = displaymetrics.heightPixels; |
| 91 | 104 |
mTitleSize= mHeight*0.032f; |
| 92 |
mButSize = mHeight*0.040f;
|
|
| 105 |
mButSize = mHeight*0.035f;
|
|
| 93 | 106 |
mTextSize = mHeight*0.025f; |
| 94 | 107 |
|
| 95 | 108 |
if( hasArgument() ) |
| ... | ... | |
| 143 | 156 |
}); |
| 144 | 157 |
} |
| 145 | 158 |
|
| 159 |
int neutral = getNeutral(); |
|
| 160 |
if( neutral>=0 ) |
|
| 161 |
{
|
|
| 162 |
builder.setNeutralButton( neutral, new DialogInterface.OnClickListener() |
|
| 163 |
{
|
|
| 164 |
@Override |
|
| 165 |
public void onClick(DialogInterface dialog, int which) |
|
| 166 |
{
|
|
| 167 |
neutralAction(); |
|
| 168 |
} |
|
| 169 |
}); |
|
| 170 |
} |
|
| 171 |
|
|
| 146 | 172 |
int negative = getNegative(); |
| 147 | 173 |
if( negative>=0 ) |
| 148 | 174 |
{
|
| src/main/java/org/distorted/dialogs/DialogBandagedDelete.java | ||
|---|---|---|
| 27 | 27 |
public int getTitleResource() { return R.string.delete_object; }
|
| 28 | 28 |
public boolean hasArgument() { return true; }
|
| 29 | 29 |
public int getPositive() { return R.string.yes; }
|
| 30 |
public int getNeutral() { return -1; }
|
|
| 30 | 31 |
public int getNegative() { return R.string.no; }
|
| 31 | 32 |
public void negativeAction() { }
|
| 33 |
public void neutralAction() { }
|
|
| 32 | 34 |
|
| 33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 34 | 36 |
|
| src/main/java/org/distorted/dialogs/DialogBandagedSave.java | ||
|---|---|---|
| 28 | 28 |
public int getTitleResource() { return R.string.save_object; }
|
| 29 | 29 |
public boolean hasArgument() { return false; }
|
| 30 | 30 |
public int getPositive() { return R.string.yes; }
|
| 31 |
public int getNeutral() { return -1; }
|
|
| 31 | 32 |
public int getNegative() { return R.string.no; }
|
| 33 |
public void neutralAction() { }
|
|
| 32 | 34 |
|
| 33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 34 | 36 |
|
| src/main/java/org/distorted/dialogs/DialogCreators.java | ||
|---|---|---|
| 99 | 99 |
public int getTitleResource() { return R.string.creators; }
|
| 100 | 100 |
public boolean hasArgument() { return false; }
|
| 101 | 101 |
public int getPositive() { return R.string.ok; }
|
| 102 |
public int getNeutral() { return -1; }
|
|
| 102 | 103 |
public int getNegative() { return -1; }
|
| 103 | 104 |
public void positiveAction() { }
|
| 104 | 105 |
public void negativeAction() { }
|
| 106 |
public void neutralAction() { }
|
|
| 105 | 107 |
public static String getDialogTag() { return "DialogCreators"; }
|
| 106 | 108 |
|
| 107 | 109 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/dialogs/DialogError.java | ||
|---|---|---|
| 26 | 26 |
public int getTitleResource() { return R.string.opengl_error; }
|
| 27 | 27 |
public boolean hasArgument() { return false; }
|
| 28 | 28 |
public int getPositive() { return R.string.ok; }
|
| 29 |
public int getNeutral() { return -1; }
|
|
| 29 | 30 |
public int getNegative() { return -1; }
|
| 31 |
public void neutralAction() { }
|
|
| 32 |
public void negativeAction() { }
|
|
| 30 | 33 |
|
| 31 | 34 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 32 | 35 |
|
| ... | ... | |
| 36 | 39 |
if( act!=null ) act.finish(); |
| 37 | 40 |
} |
| 38 | 41 |
|
| 39 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 40 |
|
|
| 41 |
public void negativeAction() |
|
| 42 |
{
|
|
| 43 |
|
|
| 44 |
} |
|
| 45 |
|
|
| 46 | 42 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 47 | 43 |
|
| 48 | 44 |
public void prepareBody(Dialog dialog, View view, FragmentActivity act, float size) |
| src/main/java/org/distorted/dialogs/DialogExit.java | ||
|---|---|---|
| 25 | 25 |
public int getTitleResource() { return -1; }
|
| 26 | 26 |
public boolean hasArgument() { return false; }
|
| 27 | 27 |
public int getPositive() { return R.string.yes; }
|
| 28 |
public int getNeutral() { return -1; }
|
|
| 28 | 29 |
public int getNegative() { return R.string.no; }
|
| 30 |
public void neutralAction() { }
|
|
| 29 | 31 |
public void negativeAction() { }
|
| 30 | 32 |
public void prepareBody(Dialog dialog, View view, FragmentActivity act, float size) { }
|
| 31 | 33 |
|
| src/main/java/org/distorted/dialogs/DialogInterrupt.java | ||
|---|---|---|
| 26 | 26 |
public int getTitleResource() { return -1; }
|
| 27 | 27 |
public boolean hasArgument() { return false; }
|
| 28 | 28 |
public int getPositive() { return R.string.interrupt; }
|
| 29 |
public int getNeutral() { return -1; }
|
|
| 29 | 30 |
public int getNegative() { return -1; }
|
| 31 |
public void neutralAction() { }
|
|
| 30 | 32 |
public void negativeAction() { }
|
| 31 | 33 |
public static String getDialogTag() { return "DialogInterrupt"; }
|
| 32 | 34 |
|
| src/main/java/org/distorted/dialogs/DialogMessage.java | ||
|---|---|---|
| 25 | 25 |
public int getTitleResource() { return -1; }
|
| 26 | 26 |
public boolean hasArgument() { return true; }
|
| 27 | 27 |
public int getPositive() { return R.string.ok; }
|
| 28 |
public int getNeutral() { return -1; }
|
|
| 28 | 29 |
public int getNegative() { return -1; }
|
| 29 | 30 |
public void negativeAction() { }
|
| 31 |
public void neutralAction() { }
|
|
| 30 | 32 |
public void positiveAction() { }
|
| 31 | 33 |
public static String getDialogTag() { return "DialogBandageMessage"; }
|
| 32 | 34 |
|
| ... | ... | |
| 37 | 39 |
TextView mess = view.findViewById(R.id.dialog_message); |
| 38 | 40 |
mess.setText(mArgument); |
| 39 | 41 |
} |
| 40 |
|
|
| 41 | 42 |
} |
| src/main/java/org/distorted/dialogs/DialogNewRecord.java | ||
|---|---|---|
| 29 | 29 |
public int getTitleResource() { return R.string.new_record; }
|
| 30 | 30 |
public boolean hasArgument() { return true; }
|
| 31 | 31 |
public int getPositive() { return R.string.yes; }
|
| 32 |
public int getNeutral() { return -1; }
|
|
| 32 | 33 |
public int getNegative() { return R.string.no; }
|
| 34 |
public void neutralAction() { }
|
|
| 33 | 35 |
|
| 34 | 36 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 35 | 37 |
|
| src/main/java/org/distorted/dialogs/DialogPattern.java | ||
|---|---|---|
| 60 | 60 |
public int getTitleResource() { return R.string.choose_pattern; }
|
| 61 | 61 |
public boolean hasArgument() { return true; }
|
| 62 | 62 |
public int getPositive() { return -1; }
|
| 63 |
public int getNeutral() { return -1; }
|
|
| 63 | 64 |
public int getNegative() { return -1; }
|
| 64 | 65 |
public void positiveAction() { }
|
| 65 | 66 |
public void negativeAction() { }
|
| 67 |
public void neutralAction() { }
|
|
| 66 | 68 |
|
| 67 | 69 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 68 | 70 |
|
| src/main/java/org/distorted/dialogs/DialogScores.java | ||
|---|---|---|
| 62 | 62 |
public int getTitleResource() { return R.string.scores; }
|
| 63 | 63 |
public boolean hasArgument() { return true; }
|
| 64 | 64 |
public int getPositive() { return R.string.ok; }
|
| 65 |
public int getNeutral() { return -1; }
|
|
| 65 | 66 |
public int getNegative() { return -1; }
|
| 66 | 67 |
public void positiveAction() { DialogScoresThread.getInstance().exit(); }
|
| 68 |
public void neutralAction() { }
|
|
| 67 | 69 |
public void negativeAction() { }
|
| 68 | 70 |
|
| 69 | 71 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/dialogs/DialogSetName.java | ||
|---|---|---|
| 60 | 60 |
public int getTitleResource() { return mArgument.isEmpty() ? R.string.choose_name : R.string.name_taken; }
|
| 61 | 61 |
public boolean hasArgument() { return true; }
|
| 62 | 62 |
public int getPositive() { return R.string.ok; }
|
| 63 |
public int getNeutral() { return -1; }
|
|
| 63 | 64 |
public int getNegative() { return -1; }
|
| 65 |
public void neutralAction() { }
|
|
| 64 | 66 |
|
| 65 | 67 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 66 | 68 |
|
| src/main/java/org/distorted/dialogs/DialogSolved.java | ||
|---|---|---|
| 27 | 27 |
public int getTitleResource() { return R.string.solved; }
|
| 28 | 28 |
public boolean hasArgument() { return true; }
|
| 29 | 29 |
public int getPositive() { return R.string.ok; }
|
| 30 |
public int getNeutral() { return -1; }
|
|
| 30 | 31 |
public int getNegative() { return -1; }
|
| 32 |
public void neutralAction() { }
|
|
| 31 | 33 |
|
| 32 | 34 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 33 | 35 |
|
| src/main/java/org/distorted/dialogs/DialogSolverError.java | ||
|---|---|---|
| 26 | 26 |
public int getTitleResource() { return R.string.error; }
|
| 27 | 27 |
public boolean hasArgument() { return true; }
|
| 28 | 28 |
public int getPositive() { return R.string.ok; }
|
| 29 |
public int getNeutral() { return -1; }
|
|
| 29 | 30 |
public int getNegative() { return -1; }
|
| 30 | 31 |
public void positiveAction() { }
|
| 31 | 32 |
public void negativeAction() { }
|
| 33 |
public void neutralAction() { }
|
|
| 32 | 34 |
|
| 33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 34 | 36 |
|
| src/main/java/org/distorted/dialogs/DialogSolverImpossible.java | ||
|---|---|---|
| 26 | 26 |
public int getTitleResource() { return R.string.impossible_position; }
|
| 27 | 27 |
public boolean hasArgument() { return true; }
|
| 28 | 28 |
public int getPositive() { return R.string.ok; }
|
| 29 |
public int getNeutral() { return -1; }
|
|
| 29 | 30 |
public int getNegative() { return -1; }
|
| 30 | 31 |
public void positiveAction() { }
|
| 31 | 32 |
public void negativeAction() { }
|
| 33 |
public void neutralAction() { }
|
|
| 32 | 34 |
|
| 33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 34 | 36 |
|
| src/main/java/org/distorted/dialogs/DialogSolvers.java | ||
|---|---|---|
| 50 | 50 |
public int getTitleResource() { return R.string.solvers; }
|
| 51 | 51 |
public boolean hasArgument() { return true; }
|
| 52 | 52 |
public int getPositive() { return -1; }
|
| 53 |
public int getNeutral() { return -1; }
|
|
| 53 | 54 |
public int getNegative() { return -1; }
|
| 54 | 55 |
public static String getDialogTag() { return "DialogSolvers"; }
|
| 55 | 56 |
public void positiveAction() { }
|
| 56 | 57 |
public void negativeAction() { }
|
| 58 |
public void neutralAction() { }
|
|
| 57 | 59 |
|
| 58 | 60 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 59 | 61 |
|
| src/main/java/org/distorted/dialogs/DialogTutorial.java | ||
|---|---|---|
| 67 | 67 |
public int getTitleResource() { return R.string.tutorials; }
|
| 68 | 68 |
public boolean hasArgument() { return true; }
|
| 69 | 69 |
public int getPositive() { return -1; }
|
| 70 |
public int getNeutral() { return -1; }
|
|
| 70 | 71 |
public int getNegative() { return -1; }
|
| 71 | 72 |
public void positiveAction() { }
|
| 72 | 73 |
public void negativeAction() { }
|
| 74 |
public void neutralAction() { }
|
|
| 73 | 75 |
|
| 74 | 76 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 75 | 77 |
|
| src/main/java/org/distorted/dialogs/DialogUpdates.java | ||
|---|---|---|
| 80 | 80 |
public int getTitleResource() { return R.string.updates; }
|
| 81 | 81 |
public boolean hasArgument() { return false; }
|
| 82 | 82 |
public int getPositive() { return R.string.ok; }
|
| 83 |
public int getNeutral() { return -1; }
|
|
| 83 | 84 |
public int getNegative() { return -1; }
|
| 84 | 85 |
public void positiveAction() { }
|
| 85 | 86 |
public void negativeAction() { }
|
| 87 |
public void neutralAction() { }
|
|
| 86 | 88 |
public static String getDialogTag() { return "DialogUpdates"; }
|
| 87 | 89 |
|
| 88 | 90 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/play/PlayActivity.java | ||
|---|---|---|
| 296 | 296 |
return mObjectOrdinal; |
| 297 | 297 |
} |
| 298 | 298 |
|
| 299 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 300 |
|
|
| 301 |
public void rememberSolve() |
|
| 302 |
{
|
|
| 303 |
android.util.Log.e("D", "REMEMBER!");
|
|
| 304 |
} |
|
| 305 |
|
|
| 299 | 306 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 300 | 307 |
|
| 301 | 308 |
public ObjectControl getControl() |
| src/main/res/values-de/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">OK</string> |
| 15 | 15 |
<string name="yes">JA</string> |
| 16 | 16 |
<string name="no">NEIN</string> |
| 17 |
<string name="cancel">Abbrechen</string> |
|
| 17 | 18 |
<string name="you">SIE</string> |
| 18 | 19 |
<string name="solution">Lösung</string> |
| 19 | 20 |
<string name="ready">Bereit?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">Aktualisierungen</string> |
| 49 | 50 |
<string name="no_updates">Nicht gefunden</string> |
| 50 | 51 |
<string name="install">Installieren</string> |
| 51 |
<string name="abandon_solve">Give up</string> |
|
| 52 |
<string name="abandon_solve">Merke diese Lösung</string> |
|
| 53 |
<string name="come_back_later">Wenn ja, können Sie später fortfahren.</string> |
|
| 52 | 54 |
<string name="use_solver">Verwenden</string> |
| 53 | 55 |
<string name="whatsnew">Was gibt\'s Neues</string> |
| 54 | 56 |
<string name="share">Teilen Sie diese App</string> |
| src/main/res/values-es/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">Aceptar</string> |
| 15 | 15 |
<string name="yes">SÍ</string> |
| 16 | 16 |
<string name="no">NO</string> |
| 17 |
<string name="cancel">Cancelar</string> |
|
| 17 | 18 |
<string name="you">TÚ</string> |
| 18 | 19 |
<string name="solution">Solución</string> |
| 19 | 20 |
<string name="ready">¿Listo?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">Actualizaciones</string> |
| 49 | 50 |
<string name="no_updates">Extraviado</string> |
| 50 | 51 |
<string name="install">Instalar</string> |
| 51 |
<string name="abandon_solve">Abandonar</string> |
|
| 52 |
<string name="abandon_solve">Recuerda esta solución</string> |
|
| 53 |
<string name="come_back_later">Si es así, podrás reanudarlo más tarde.</string> |
|
| 52 | 54 |
<string name="use_solver">Usar</string> |
| 53 | 55 |
<string name="whatsnew">Qué hay de nuevo</string> |
| 54 | 56 |
<string name="share">Comparte esta app</string> |
| src/main/res/values-fr/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">D\'accord</string> |
| 15 | 15 |
<string name="yes">OUI</string> |
| 16 | 16 |
<string name="no">NON</string> |
| 17 |
<string name="cancel">Annuler</string> |
|
| 17 | 18 |
<string name="you">VOUS</string> |
| 18 | 19 |
<string name="solution">Solution</string> |
| 19 | 20 |
<string name="ready">Prêt ?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">Mises à jour</string> |
| 49 | 50 |
<string name="no_updates">Pas trouvé</string> |
| 50 | 51 |
<string name="install">Installer</string> |
| 51 |
<string name="abandon_solve">Abandonner</string>
|
|
| 52 |
<string name="come_back_later">Si oui, vous pourrez le reprendre plus tard.</string>
|
|
| 52 | 53 |
<string name="use_solver">Utiliser</string> |
| 53 | 54 |
<string name="whatsnew">Quoi de neuf</string> |
| 54 | 55 |
<string name="share">Partager cette app</string> |
| ... | ... | |
| 260 | 261 |
<string name="lv_placeholder">Niveau %1$d</string> |
| 261 | 262 |
<string name="ti_placeholder">%1$s secondes</string> |
| 262 | 263 |
<string name="ab_placeholder">À propos de %1$s</string> |
| 264 |
<string name="abandon_solve">Souvenez-vous de cette solution</string> |
|
| 263 | 265 |
|
| 264 | 266 |
</resources> |
| src/main/res/values-ja/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">OK</string> |
| 15 | 15 |
<string name="yes">はい</string> |
| 16 | 16 |
<string name="no">いいえ</string> |
| 17 |
<string name="cancel">キャンセル</string> |
|
| 17 | 18 |
<string name="you">あなた</string> |
| 18 | 19 |
<string name="solution">解答</string> |
| 19 | 20 |
<string name="ready">準備はいいですか?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">更新</string> |
| 49 | 50 |
<string name="no_updates">見つかりません</string> |
| 50 | 51 |
<string name="install">インストール</string> |
| 51 |
<string name="abandon_solve">あきらめる</string> |
|
| 52 |
<string name="abandon_solve">この解決策を覚えておいて</string> |
|
| 53 |
<string name="come_back_later">はい、後で再開できます。</string> |
|
| 52 | 54 |
<string name="use_solver">使用</string> |
| 53 | 55 |
<string name="whatsnew">新着情報</string> |
| 54 | 56 |
<string name="share">このアプリを共有する</string> |
| src/main/res/values-ko/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">확인</string> |
| 15 | 15 |
<string name="yes">예</string> |
| 16 | 16 |
<string name="no">아니요</string> |
| 17 |
<string name="cancel">취소</string> |
|
| 17 | 18 |
<string name="you">나</string> |
| 18 | 19 |
<string name="solution">해결</string> |
| 19 | 20 |
<string name="ready">준비되셨나요?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">업데이트</string> |
| 49 | 50 |
<string name="no_updates">업데이트가 없습니다</string> |
| 50 | 51 |
<string name="install">설치</string> |
| 51 |
<string name="abandon_solve">포기</string> |
|
| 52 |
<string name="abandon_solve">이 해결책을 기억하세요</string> |
|
| 53 |
<string name="come_back_later">그렇다면, 나중에 다시 시작할 수 있습니다.</string> |
|
| 52 | 54 |
<string name="use_solver">사용</string> |
| 53 | 55 |
<string name="whatsnew">새로운 기능</string> |
| 54 | 56 |
<string name="share">이 애플리케이션 공유</string> |
| src/main/res/values-pl/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">OK</string> |
| 15 | 15 |
<string name="yes">TAK</string> |
| 16 | 16 |
<string name="no">NIE</string> |
| 17 |
<string name="cancel">Anuluj</string> |
|
| 17 | 18 |
<string name="you">TY</string> |
| 18 | 19 |
<string name="solution">Rozwiązanie</string> |
| 19 | 20 |
<string name="ready">Gotowy?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">Aktualizacje</string> |
| 49 | 50 |
<string name="no_updates">Nie znaleziono</string> |
| 50 | 51 |
<string name="install">Zainstaluj</string> |
| 51 |
<string name="abandon_solve">Zrezygnuj</string> |
|
| 52 |
<string name="abandon_solve">Zapamiętaj to rozwiązanie</string> |
|
| 53 |
<string name="come_back_later">Jeśli zapamiętasz, będziesz mógł wrócić do niego później.</string> |
|
| 52 | 54 |
<string name="use_solver">Użyj</string> |
| 53 | 55 |
<string name="whatsnew">Nowości</string> |
| 54 | 56 |
<string name="share">Udostępnij tę apkę</string> |
| src/main/res/values-ru/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">ОК</string> |
| 15 | 15 |
<string name="yes">ДА</string> |
| 16 | 16 |
<string name="no">НЕТ</string> |
| 17 |
<string name="cancel">Отмена</string> |
|
| 17 | 18 |
<string name="you">ВЫ</string> |
| 18 | 19 |
<string name="solution">Решение</string> |
| 19 | 20 |
<string name="ready">Готовы?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">Обновления</string> |
| 49 | 50 |
<string name="no_updates">Не найдено</string> |
| 50 | 51 |
<string name="install">Установите</string> |
| 51 |
<string name="abandon_solve">Сдаться</string> |
|
| 52 |
<string name="abandon_solve">Запомните это решение</string> |
|
| 53 |
<string name="come_back_later">Если да, вы сможете возобновить его позже.</string> |
|
| 52 | 54 |
<string name="use_solver">Использовай</string> |
| 53 | 55 |
<string name="whatsnew">Новинки</string> |
| 54 | 56 |
<string name="share">Поделись этим</string> |
| src/main/res/values-zh-rCN/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">确定</string> |
| 15 | 15 |
<string name="yes">是</string> |
| 16 | 16 |
<string name="no">否</string> |
| 17 |
<string name="cancel">取消</string> |
|
| 17 | 18 |
<string name="you">你</string> |
| 18 | 19 |
<string name="solution">解决方案</string> |
| 19 | 20 |
<string name="ready">准备就绪?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">更新</string> |
| 49 | 50 |
<string name="no_updates">未找到更新</string> |
| 50 | 51 |
<string name="install">安装</string> |
| 51 |
<string name="abandon_solve">放弃</string>
|
|
| 52 |
<string name="come_back_later">如果可以,您稍后就能继续。</string>
|
|
| 52 | 53 |
<string name="use_solver">使用</string> |
| 53 | 54 |
<string name="whatsnew">新奇事物</string> |
| 54 | 55 |
<string name="share">分享这个应用程序</string> |
| ... | ... | |
| 266 | 267 |
<string name="lv_placeholder">%1$d级</string> |
| 267 | 268 |
<string name="ti_placeholder">%1$s 秒</string> |
| 268 | 269 |
<string name="ab_placeholder">关于版本 %1$s</string> |
| 270 |
<string name="abandon_solve">记住这个解法</string> |
|
| 269 | 271 |
</resources> |
| src/main/res/values-zh-rTW/strings.xml | ||
|---|---|---|
| 14 | 14 |
<string name="ok">確認</string> |
| 15 | 15 |
<string name="yes">是</string> |
| 16 | 16 |
<string name="no">否</string> |
| 17 |
<string name="cancel">取消</string> |
|
| 17 | 18 |
<string name="you">你</string> |
| 18 | 19 |
<string name="solution">解决方案</string> |
| 19 | 20 |
<string name="ready">準備好了?</string> |
| ... | ... | |
| 48 | 49 |
<string name="updates">更新</string> |
| 49 | 50 |
<string name="no_updates">未找到更新</string> |
| 50 | 51 |
<string name="install">安裝</string> |
| 51 |
<string name="abandon_solve">放棄</string>
|
|
| 52 |
<string name="come_back_later">若答案為是,您稍後將可繼續進行。</string>
|
|
| 52 | 53 |
<string name="use_solver">使用</string> |
| 53 | 54 |
<string name="whatsnew">新奇事物</string> |
| 54 | 55 |
<string name="share">分享這個應用程序</string> |
| ... | ... | |
| 260 | 261 |
<string name="lv_placeholder">%1$d級</string> |
| 261 | 262 |
<string name="ti_placeholder">%1$s 秒</string> |
| 262 | 263 |
<string name="ab_placeholder">關於版本 %1$s</string> |
| 264 |
<string name="abandon_solve">記住這個解法</string> |
|
| 263 | 265 |
|
| 264 | 266 |
</resources> |
| src/main/res/values/strings.xml | ||
|---|---|---|
| 16 | 16 |
<string name="ok">OK</string> |
| 17 | 17 |
<string name="yes">YES</string> |
| 18 | 18 |
<string name="no">NO</string> |
| 19 |
<string name="cancel">Cancel</string> |
|
| 19 | 20 |
<string name="you">YOU</string> |
| 20 | 21 |
<string name="solution">Solution</string> |
| 21 | 22 |
<string name="ready">Ready?</string> |
| ... | ... | |
| 50 | 51 |
<string name="updates">Updates</string> |
| 51 | 52 |
<string name="no_updates">No update found</string> |
| 52 | 53 |
<string name="install">Install</string> |
| 53 |
<string name="abandon_solve">Give up</string> |
|
| 54 |
<string name="abandon_solve">Remember this solve</string> |
|
| 55 |
<string name="come_back_later">If yes, you will be able to resume it later.</string> |
|
| 54 | 56 |
<string name="use_solver">Use</string> |
| 55 | 57 |
<string name="whatsnew">What\'s new</string> |
| 56 | 58 |
<string name="share">Share this app</string> |
Also available in: Unified diff
Progress remembering ongoing solves.