Merge branch 'audiorecorder-1.1.46'
This commit is contained in:
commit
9e0faede72
15 changed files with 212 additions and 54 deletions
|
|
@ -8,8 +8,8 @@ android {
|
|||
applicationId "com.github.axet.audiorecorder"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 23
|
||||
versionCode 67
|
||||
versionName "1.1.45"
|
||||
versionCode 68
|
||||
versionName "1.1.46"
|
||||
}
|
||||
signingConfigs {
|
||||
release {
|
||||
|
|
|
|||
|
|
@ -177,10 +177,10 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
time.setText(s.format(new Date(f.lastModified())));
|
||||
|
||||
TextView dur = (TextView) convertView.findViewById(R.id.recording_duration);
|
||||
dur.setText(MainApplication.formatDuration(durations.get(f)));
|
||||
dur.setText(MainApplication.formatDuration(getContext(), durations.get(f)));
|
||||
|
||||
TextView size = (TextView) convertView.findViewById(R.id.recording_size);
|
||||
size.setText(MainApplication.formatSize(f.length()));
|
||||
size.setText(MainApplication.formatSize(getContext(), f.length()));
|
||||
|
||||
final View playerBase = convertView.findViewById(R.id.recording_player);
|
||||
playerBase.setOnClickListener(new View.OnClickListener() {
|
||||
|
|
@ -193,9 +193,9 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
@Override
|
||||
public void run() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
|
||||
builder.setTitle("Delete Recording");
|
||||
builder.setMessage("...\\" + f.getName() + "\n\n" + "Are you sure ? ");
|
||||
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
|
||||
builder.setTitle(R.string.delete_recording);
|
||||
builder.setMessage("...\\" + f.getName() + "\n\n" + getString(R.string.are_you_sure));
|
||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
playerStop();
|
||||
|
|
@ -211,7 +211,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
});
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
|
||||
builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.cancel();
|
||||
|
|
@ -225,7 +225,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
@Override
|
||||
public void run() {
|
||||
final OpenFileDialog.EditTextDialog e = new OpenFileDialog.EditTextDialog(getContext());
|
||||
e.setTitle("Rename Recording");
|
||||
e.setTitle(getString(R.string.rename_recording));
|
||||
e.setText(Storage.getNameNoExt(f));
|
||||
e.setPositiveButton(new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
|
|
@ -281,7 +281,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
emailIntent.putExtra(Intent.EXTRA_EMAIL, "");
|
||||
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
|
||||
emailIntent.putExtra(Intent.EXTRA_SUBJECT, f.getName());
|
||||
emailIntent.putExtra(Intent.EXTRA_TEXT, "Shared via Audio Recorder");
|
||||
emailIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.shared_via, getString(R.string.app_name)));
|
||||
|
||||
shareProvider.setShareIntent(emailIntent);
|
||||
|
||||
|
|
@ -347,7 +347,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
if (player == null)
|
||||
player = MediaPlayer.create(getContext(), Uri.fromFile(f));
|
||||
if (player == null) {
|
||||
Toast.makeText(MainActivity.this, "File not found", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(MainActivity.this, R.string.file_not_found, Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
player.start();
|
||||
|
|
@ -443,11 +443,11 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
}
|
||||
});
|
||||
|
||||
start.setText(MainApplication.formatDuration(c));
|
||||
start.setText(MainApplication.formatDuration(getContext(), c));
|
||||
bar.setMax(d);
|
||||
bar.setKeyProgressIncrement(1);
|
||||
bar.setProgress(c);
|
||||
end.setText("-" + MainApplication.formatDuration(d - c));
|
||||
end.setText("-" + MainApplication.formatDuration(getContext(), d - c));
|
||||
|
||||
return playing;
|
||||
}
|
||||
|
|
@ -557,7 +557,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
if (intent.resolveActivityInfo(getPackageManager(), 0) != null) {
|
||||
startActivity(intent);
|
||||
} else {
|
||||
Toast.makeText(this, "No folder view application installed", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(this, R.string.no_folder_app, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -630,7 +630,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
|
|||
load();
|
||||
checkPending();
|
||||
} else {
|
||||
Toast.makeText(this, "Not permitted", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(this, R.string.not_permitted, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
case TelephonyManager.CALL_STATE_OFFHOOK:
|
||||
wasRinging = true;
|
||||
if (thread != null) {
|
||||
stopRecording("pause (hold by call)");
|
||||
stopRecording(getString(R.string.hold_by_call));
|
||||
pausedByCall = true;
|
||||
}
|
||||
break;
|
||||
|
|
@ -230,7 +230,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
done.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
stopRecording("encoding");
|
||||
stopRecording(getString(R.string.encoding));
|
||||
encoding(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
|
@ -244,7 +244,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
if (a != null && a.equals(START_PAUSE)) {
|
||||
// pretend we already start it
|
||||
start = false;
|
||||
stopRecording("pause");
|
||||
stopRecording(getString(R.string.pause));
|
||||
}
|
||||
|
||||
receiver = new RecordingReceiver();
|
||||
|
|
@ -298,7 +298,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
|
||||
void pauseButton() {
|
||||
if (thread != null) {
|
||||
stopRecording("pause");
|
||||
stopRecording(getString(R.string.pause));
|
||||
} else {
|
||||
editCut();
|
||||
|
||||
|
|
@ -374,7 +374,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
|
||||
void edit(boolean show, boolean animate) {
|
||||
if (show) {
|
||||
setState("edit");
|
||||
setState(getString(R.string.edit));
|
||||
editPlay(false);
|
||||
|
||||
View box = findViewById(R.id.recording_edit_box);
|
||||
|
|
@ -409,7 +409,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
});
|
||||
} else {
|
||||
editSample = -1;
|
||||
setState("pause");
|
||||
setState(getString(R.string.pause));
|
||||
editPlay(false);
|
||||
pitch.edit(-1);
|
||||
pitch.stop();
|
||||
|
|
@ -431,7 +431,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
long perSec = (c * m * rate);
|
||||
long sec = free / perSec * 1000;
|
||||
|
||||
state.setText(s + " (" + ((MainApplication) getApplication()).formatFree(free, sec) + ")");
|
||||
state.setText(s + "\n(" + ((MainApplication) getApplication()).formatFree(free, sec) + ")");
|
||||
}
|
||||
|
||||
void editPlay(boolean show) {
|
||||
|
|
@ -509,15 +509,15 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
|
||||
void cancelDialog(final Runnable run) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setTitle("Confirm cancel");
|
||||
builder.setMessage("Are you sure you want to cancel?");
|
||||
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
|
||||
builder.setTitle(R.string.confirm_cancel);
|
||||
builder.setMessage(R.string.are_you_sure_cancel);
|
||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
run.run();
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
|
||||
builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.cancel();
|
||||
|
|
@ -551,7 +551,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
edit(false, true);
|
||||
pitch.setOnTouchListener(null);
|
||||
|
||||
setState("recording");
|
||||
setState(getString(R.string.recording));
|
||||
|
||||
sound.silent();
|
||||
|
||||
|
|
@ -712,7 +712,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
void updateSamples(long samplesTime) {
|
||||
long ms = samplesTime / sampleRate * 1000;
|
||||
|
||||
time.setText(MainApplication.formatDuration(ms));
|
||||
time.setText(MainApplication.formatDuration(this, ms));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -724,7 +724,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
if (permitted(permissions)) {
|
||||
startRecording();
|
||||
} else {
|
||||
Toast.makeText(this, "Not permitted", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(this, R.string.not_permitted, Toast.LENGTH_SHORT).show();
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
|
@ -784,7 +784,7 @@ public class RecordingActivity extends AppCompatActivity {
|
|||
encoder = new FileEncoder(this, in, e);
|
||||
|
||||
final ProgressDialog d = new ProgressDialog(this);
|
||||
d.setTitle("Encoding...");
|
||||
d.setTitle(getString(R.string.encoding_title));
|
||||
d.setMessage(".../" + targetFile.getName());
|
||||
d.setMax(100);
|
||||
d.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha
|
|||
if (permitted(this, permissions))
|
||||
;
|
||||
else
|
||||
Toast.makeText(this, "Not permitted", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(this, R.string.not_permitted, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,23 +74,23 @@ public class MainApplication extends Application {
|
|||
str = getResources().getQuantityString(R.plurals.seconds, diffSeconds, diffSeconds);
|
||||
}
|
||||
|
||||
return String.format("%s free ~ %s left", MainApplication.formatSize(free), str);
|
||||
return getString(R.string.title_header, MainApplication.formatSize(this, free), str);
|
||||
}
|
||||
|
||||
public static String formatSize(long s) {
|
||||
public static String formatSize(Context context, long s) {
|
||||
if (s > 0.1 * 1024 * 1024 * 1024) {
|
||||
float f = s / 1024f / 1024f / 1024f;
|
||||
return String.format("%.1f GB", f);
|
||||
return context.getString(R.string.size_gb, f);
|
||||
} else if (s > 0.1 * 1024 * 1024) {
|
||||
float f = s / 1024f / 1024f;
|
||||
return String.format("%.1f MB", f);
|
||||
return context.getString(R.string.size_mb, f);
|
||||
} else {
|
||||
float f = s / 1024f;
|
||||
return String.format("%.1f kb", f);
|
||||
return context.getString(R.string.size_kb, f);
|
||||
}
|
||||
}
|
||||
|
||||
static public String formatDuration(long diff) {
|
||||
static public String formatDuration(Context context, long diff) {
|
||||
int diffMilliseconds = (int) (diff % 1000);
|
||||
int diffSeconds = (int) (diff / 1000 % 60);
|
||||
int diffMinutes = (int) (diff / (60 * 1000) % 60);
|
||||
|
|
@ -100,7 +100,7 @@ public class MainApplication extends Application {
|
|||
String str = "";
|
||||
|
||||
if (diffDays > 0)
|
||||
str = diffDays + "d " + formatTime(diffHours) + ":" + formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
|
||||
str = diffDays + context.getString(R.string.days_symbol) + " " + formatTime(diffHours) + ":" + formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
|
||||
else if (diffHours > 0)
|
||||
str = formatTime(diffHours) + ":" + formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ public class RecordingService extends Service {
|
|||
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
|
||||
.setOngoing(true)
|
||||
.setContentTitle("Recording")
|
||||
.setContentTitle(getString(R.string.recording_title))
|
||||
.setSmallIcon(R.drawable.ic_mic_24dp)
|
||||
.setContent(view);
|
||||
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ public class PitchView extends ViewGroup {
|
|||
public PitchCurrentView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
|
||||
text = "100 dB";
|
||||
text = "100 " + getContext().getString(R.string.db);
|
||||
textBounds = new Rect();
|
||||
|
||||
textPaint = new Paint();
|
||||
|
|
@ -314,7 +314,7 @@ public class PitchView extends ViewGroup {
|
|||
|
||||
String str = "";
|
||||
|
||||
str = Integer.toString((int) getDB(end)) + " dB";
|
||||
str = Integer.toString((int) getDB(end)) + " " + getContext().getString(R.string.db);
|
||||
|
||||
setText(str);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:text="preparing" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:text="Recording List is Empty\n\nClick Record to Start Recording"
|
||||
android:text="@string/recording_list_is_empty"
|
||||
android:textAlignment="center"></TextView>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<item
|
||||
android:id="@+id/action_rename"
|
||||
android:orderInCategory="100"
|
||||
android:title="Rename"
|
||||
android:title="@string/rename"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_delete"
|
||||
android:orderInCategory="200"
|
||||
android:title="Delete"
|
||||
android:title="@string/delete"
|
||||
app:showAsAction="never" />
|
||||
</menu>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<item
|
||||
android:id="@+id/action_show_folder"
|
||||
android:orderInCategory="100"
|
||||
android:title="Open Recording Folder"
|
||||
android:title="@string/open_recording_folder"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
|
|
|
|||
78
app/src/main/res/values-ru/strings.xml
Normal file
78
app/src/main/res/values-ru/strings.xml
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
<resources>
|
||||
<string name="app_name">Аудио Рекордер</string>
|
||||
|
||||
<string-array name="themes_text">
|
||||
<item>Тема Светлая (по умолчанию)</item>
|
||||
<item>Тема Темная</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="sample_rate_text">
|
||||
<item>48 kHz</item>
|
||||
<item>44.1 kHz (CD)</item>
|
||||
<item>32 kHz</item>
|
||||
<item>22 kHz</item>
|
||||
<item>16 kHz (по умолчанию)</item>
|
||||
<item>11 kHz</item>
|
||||
<item>8 kHz (телефон)</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="encodings_text">
|
||||
<item>.wav (по умолчанию)</item>
|
||||
<item>.m4a</item>
|
||||
</string-array>
|
||||
|
||||
<string name="title_activity_main">Аудио Рекордер</string>
|
||||
<string name="action_settings">Настройки</string>
|
||||
<string name="not_permitted">Доступ запрещен</string>
|
||||
<string name="no_folder_app">Программа для просмотра папок не установлена</string>
|
||||
<string name="file_not_found">Файл не найден</string>
|
||||
<string name="shared_via">"Создано с помощью: %1$s"</string>
|
||||
<string name="rename_recording">Переименовать запись</string>
|
||||
<string name="no">Нет</string>
|
||||
<string name="yes">Да</string>
|
||||
<string name="are_you_sure">Вы уверены?</string>
|
||||
<string name="delete_recording">Удалить запись</string>
|
||||
<string name="hold_by_call">пауза (звонок)</string>
|
||||
<string name="encoding">кодировка</string>
|
||||
<string name="pause">пауза</string>
|
||||
<string name="edit">редактор</string>
|
||||
<string name="confirm_cancel">Отменить запись</string>
|
||||
<string name="are_you_sure_cancel">Вы уверены?</string>
|
||||
<string name="recording">запись</string>
|
||||
<string name="encoding_title">Кодирование...</string>
|
||||
<string name="recording_title">Запись</string>
|
||||
<string name="db">дБ</string>
|
||||
<string name="days_symbol">д</string>
|
||||
<string name="title_header">%1$s свободно ~ %2$s осталось</string>
|
||||
<string name="size_gb">%1$.1f ГБ</string>
|
||||
<string name="size_mb">%1$.1f МБ</string>
|
||||
<string name="size_kb">%1$.1f кб</string>
|
||||
<string name="rename">Переименовать</string>
|
||||
<string name="delete">Удалить</string>
|
||||
<string name="open_recording_folder">Открыть папку с записями</string>
|
||||
<string name="recording_list_is_empty">Список записей пуст\n\nНажмите на "Микрофон" чтобы начать запись</string>
|
||||
|
||||
<plurals name="days">
|
||||
<item quantity="one">%d день</item>
|
||||
<item quantity="few">%d дня </item>
|
||||
<item quantity="many">%d дней</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="hours">
|
||||
<item quantity="one">%d час</item>
|
||||
<item quantity="few">%d часа</item>
|
||||
<item quantity="many">%d часов</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="minutes">
|
||||
<item quantity="one">%d минута</item>
|
||||
<item quantity="few">%d минуты</item>
|
||||
<item quantity="many">%d минут</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="seconds">
|
||||
<item quantity="one">%d секунда</item>
|
||||
<item quantity="few">%d секунды</item>
|
||||
<item quantity="many">%d секунд</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<resources>
|
||||
<string name="app_name">Audio Recorder</string>
|
||||
|
||||
<string-array name="sample_rate">
|
||||
<string-array name="sample_rate_text">
|
||||
<item>48 kHz</item>
|
||||
<item>44.1 kHz (CD)</item>
|
||||
<item>32 kHz</item>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<item>8 kHz (telephone)</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="sample_rate_values">
|
||||
<string-array name="sample_rate_values" translatable="false">
|
||||
<item>48000</item>
|
||||
<item>44100</item>
|
||||
<item>32000</item>
|
||||
|
|
@ -21,28 +21,56 @@
|
|||
<item>8000</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="encodings">
|
||||
<string-array name="encodings_text">
|
||||
<item>.wav (default)</item>
|
||||
<item>.m4a</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="encodings_values">
|
||||
<string-array name="encodings_values" translatable="false">
|
||||
<item>wav</item>
|
||||
<item>m4a</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="themes">
|
||||
<string-array name="themes_text">
|
||||
<item>Theme White (default)</item>
|
||||
<item>Theme Dark</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="themes_values">
|
||||
<string-array name="themes_values" translatable="false">
|
||||
<item>Theme_White</item>
|
||||
<item>Theme_Dark</item>
|
||||
</string-array>
|
||||
|
||||
<string name="title_activity_main">Audio Recorder</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="not_permitted">Not permitted</string>
|
||||
<string name="no_folder_app">No folder view application installed</string>
|
||||
<string name="file_not_found">File not found</string>
|
||||
<string name="shared_via">"Shared via %1$s"</string>
|
||||
<string name="rename_recording">Rename Recording</string>
|
||||
<string name="no">No</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="are_you_sure">"Are you sure ? "</string>
|
||||
<string name="delete_recording">Delete Recording</string>
|
||||
<string name="hold_by_call">pause (hold by call)</string>
|
||||
<string name="encoding">encoding</string>
|
||||
<string name="pause">pause</string>
|
||||
<string name="edit">edit</string>
|
||||
<string name="confirm_cancel">Confirm cancel</string>
|
||||
<string name="are_you_sure_cancel">Are you sure you want to cancel?</string>
|
||||
<string name="recording">recording</string>
|
||||
<string name="encoding_title">Encoding...</string>
|
||||
<string name="recording_title">Recording</string>
|
||||
<string name="db">dB</string>
|
||||
<string name="days_symbol">"d"</string>
|
||||
<string name="title_header">%1$s free ~ %2$s left</string>
|
||||
<string name="size_gb">%1$.1f GB</string>
|
||||
<string name="size_mb">%1$.1f MB</string>
|
||||
<string name="size_kb">%1$.1f kb</string>
|
||||
<string name="rename">Rename</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="open_recording_folder">Open Recording Folder</string>
|
||||
<string name="recording_list_is_empty">Recording List is Empty\n\nClick Record to Start Recording</string>
|
||||
|
||||
<plurals name="days">
|
||||
<item quantity="one">%d day</item>
|
||||
|
|
|
|||
51
app/src/main/res/xml-ru/pref_general.xml
Normal file
51
app/src/main/res/xml-ru/pref_general.xml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<com.github.axet.androidlibrary.widgets.StoragePathPreference
|
||||
android:defaultValue="Аудио Рекордер"
|
||||
android:key="storage_path"
|
||||
android:summary="/sdcard/some/"
|
||||
android:title="Папка для хранения" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="16000"
|
||||
android:entries="@array/sample_rate_text"
|
||||
android:entryValues="@array/sample_rate_values"
|
||||
android:key="sample_rate"
|
||||
android:negativeButtonText="@null"
|
||||
android:positiveButtonText="@null"
|
||||
android:summary="44100"
|
||||
android:title="Частота записи" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="wav"
|
||||
android:entries="@array/encodings_text"
|
||||
android:entryValues="@array/encodings_values"
|
||||
android:key="encoding"
|
||||
android:negativeButtonText="@null"
|
||||
android:positiveButtonText="@null"
|
||||
android:summary="Формат выходного файла (.wav, .m4a, ...)"
|
||||
android:title="Кодировка" />
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="call"
|
||||
android:summary="Останавливать запись на время разговора по телефону"
|
||||
android:title="Пауза на время разговора" />
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="silence"
|
||||
android:summary="Включать беззвучный режим на время записи"
|
||||
android:title="Режим тишины" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="Theme_White"
|
||||
android:entries="@array/themes_text"
|
||||
android:entryValues="@array/themes_values"
|
||||
android:key="theme"
|
||||
android:negativeButtonText="@null"
|
||||
android:positiveButtonText="@null"
|
||||
android:summary="Установить тему приложения (темная / светлая)"
|
||||
android:title="Тема приложения" />
|
||||
|
||||
</PreferenceScreen>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<ListPreference
|
||||
android:defaultValue="16000"
|
||||
android:entries="@array/sample_rate"
|
||||
android:entries="@array/sample_rate_text"
|
||||
android:entryValues="@array/sample_rate_values"
|
||||
android:key="sample_rate"
|
||||
android:negativeButtonText="@null"
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<ListPreference
|
||||
android:defaultValue="wav"
|
||||
android:entries="@array/encodings"
|
||||
android:entries="@array/encodings_text"
|
||||
android:entryValues="@array/encodings_values"
|
||||
android:key="encoding"
|
||||
android:negativeButtonText="@null"
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<ListPreference
|
||||
android:defaultValue="Theme_White"
|
||||
android:entries="@array/themes"
|
||||
android:entries="@array/themes_text"
|
||||
android:entryValues="@array/themes_values"
|
||||
android:key="theme"
|
||||
android:negativeButtonText="@null"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue