mirror of https://github.com/M66B/FairEmail.git
parent
3267f8bf5f
commit
9f2af6a6ff
|
@ -51,8 +51,12 @@ public interface DaoMessage {
|
|||
" AND (NOT message.ui_hide OR :debug)" +
|
||||
" GROUP BY account.id, CASE WHEN message.thread IS NULL THEN message.id ELSE message.thread END" +
|
||||
" HAVING SUM(unified) > 0" +
|
||||
" ORDER BY message.received DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedUnifiedInbox(boolean debug);
|
||||
" ORDER BY CASE" +
|
||||
" WHEN 'unread' = :sort THEN NOT message.seen" +
|
||||
" WHEN 'starred' = :sort THEN message.flagged" +
|
||||
" ELSE 0" +
|
||||
" END DESC, message.received DESC, message.sent DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedUnifiedInbox(String sort, boolean debug);
|
||||
|
||||
@Query("SELECT message.*" +
|
||||
", account.name AS accountName, account.color AS accountColor" +
|
||||
|
@ -72,8 +76,12 @@ public interface DaoMessage {
|
|||
" AND (NOT :found OR ui_found = :found)" +
|
||||
" GROUP BY CASE WHEN message.thread IS NULL THEN message.id ELSE message.thread END" +
|
||||
" HAVING SUM(CASE WHEN folder.id = :folder THEN 1 ELSE 0 END) > 0" +
|
||||
" ORDER BY message.received DESC, message.sent DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedFolder(long folder, boolean found, boolean debug);
|
||||
" ORDER BY CASE" +
|
||||
" WHEN 'unread' = :sort THEN NOT message.seen" +
|
||||
" WHEN 'starred' = :sort THEN message.flagged" +
|
||||
" ELSE 0" +
|
||||
" END DESC, message.received DESC, message.sent DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedFolder(long folder, String sort, boolean found, boolean debug);
|
||||
|
||||
@Query("SELECT message.*" +
|
||||
", account.name AS accountName, account.color AS accountColor" +
|
||||
|
@ -87,8 +95,12 @@ public interface DaoMessage {
|
|||
" WHERE (NOT message.ui_hide OR :debug)" +
|
||||
" AND message.account = (SELECT m1.account FROM message m1 WHERE m1.id = :msgid)" +
|
||||
" AND message.thread = (SELECT m2.thread FROM message m2 WHERE m2.id = :msgid)" +
|
||||
" ORDER BY message.received DESC, message.sent DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedThread(long msgid, boolean debug);
|
||||
" ORDER BY CASE" +
|
||||
" WHEN 'unread' = :sort THEN NOT message.seen" +
|
||||
" WHEN 'starred' = :sort THEN message.flagged" +
|
||||
" ELSE 0" +
|
||||
" END DESC, message.received DESC, message.sent DESC")
|
||||
DataSource.Factory<Integer, TupleMessageEx> pagedThread(long msgid, String sort, boolean debug);
|
||||
|
||||
@Query("SELECT *" +
|
||||
" FROM message" +
|
||||
|
|
|
@ -80,6 +80,9 @@ public class FragmentMessages extends FragmentEx {
|
|||
private long primary = -1;
|
||||
private AdapterMessage adapter;
|
||||
|
||||
private AdapterMessage.ViewType viewType;
|
||||
private LiveData<PagedList<TupleMessageEx>> messages = null;
|
||||
|
||||
private SearchState searchState = SearchState.Reset;
|
||||
private BoundaryCallbackMessages searchCallback = null;
|
||||
|
||||
|
@ -122,7 +125,6 @@ public class FragmentMessages extends FragmentEx {
|
|||
grpReady = view.findViewById(R.id.grpReady);
|
||||
fab = view.findViewById(R.id.fab);
|
||||
|
||||
|
||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
|
||||
// Wire controls
|
||||
|
@ -148,7 +150,6 @@ public class FragmentMessages extends FragmentEx {
|
|||
LinearLayoutManager llm = new LinearLayoutManager(getContext());
|
||||
rvMessage.setLayoutManager(llm);
|
||||
|
||||
AdapterMessage.ViewType viewType;
|
||||
if (TextUtils.isEmpty(search))
|
||||
if (thread < 0)
|
||||
if (folder < 0)
|
||||
|
@ -384,6 +385,7 @@ public class FragmentMessages extends FragmentEx {
|
|||
|
||||
final DB db = DB.getInstance(getContext());
|
||||
|
||||
// Primary account
|
||||
db.account().livePrimaryAccount().observe(getViewLifecycleOwner(), new Observer<EntityAccount>() {
|
||||
@Override
|
||||
public void onChanged(EntityAccount account) {
|
||||
|
@ -392,170 +394,55 @@ public class FragmentMessages extends FragmentEx {
|
|||
}
|
||||
});
|
||||
|
||||
LiveData<PagedList<TupleMessageEx>> messages;
|
||||
// Folder
|
||||
switch (viewType) {
|
||||
case UNIFIED:
|
||||
db.folder().liveUnified().observe(getViewLifecycleOwner(), new Observer<List<TupleFolderEx>>() {
|
||||
@Override
|
||||
public void onChanged(List<TupleFolderEx> folders) {
|
||||
int unseen = 0;
|
||||
if (folders != null)
|
||||
for (TupleFolderEx folder : folders)
|
||||
unseen += folder.unseen;
|
||||
String name = getString(R.string.title_folder_unified);
|
||||
if (unseen > 0)
|
||||
setSubtitle(getString(R.string.title_folder_unseen, name, unseen));
|
||||
else
|
||||
setSubtitle(name);
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
// Observe folder/messages/search
|
||||
if (TextUtils.isEmpty(search)) {
|
||||
boolean debug = prefs.getBoolean("debug", false);
|
||||
if (thread < 0)
|
||||
if (folder < 0) {
|
||||
db.folder().liveUnified().observe(getViewLifecycleOwner(), new Observer<List<TupleFolderEx>>() {
|
||||
@Override
|
||||
public void onChanged(List<TupleFolderEx> folders) {
|
||||
int unseen = 0;
|
||||
if (folders != null)
|
||||
for (TupleFolderEx folder : folders)
|
||||
unseen += folder.unseen;
|
||||
String name = getString(R.string.title_folder_unified);
|
||||
if (unseen > 0)
|
||||
setSubtitle(getString(R.string.title_folder_unseen, name, unseen));
|
||||
case FOLDER:
|
||||
db.folder().liveFolderEx(folder).observe(getViewLifecycleOwner(), new Observer<TupleFolderEx>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable TupleFolderEx folder) {
|
||||
if (folder == null)
|
||||
setSubtitle(null);
|
||||
else {
|
||||
String name = Helper.localizeFolderName(getContext(), folder.name);
|
||||
if (folder.unseen > 0)
|
||||
setSubtitle(getString(R.string.title_folder_unseen, name, folder.unseen));
|
||||
else
|
||||
setSubtitle(name);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedUnifiedInbox(debug), MESSAGES_PAGE_SIZE).build();
|
||||
} else {
|
||||
db.folder().liveFolderEx(folder).observe(getViewLifecycleOwner(), new Observer<TupleFolderEx>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable TupleFolderEx folder) {
|
||||
if (folder == null)
|
||||
setSubtitle(null);
|
||||
else {
|
||||
String name = Helper.localizeFolderName(getContext(), folder.name);
|
||||
if (folder.unseen > 0)
|
||||
setSubtitle(getString(R.string.title_folder_unseen, name, folder.unseen));
|
||||
else
|
||||
setSubtitle(name);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedFolder(folder, false, debug), MESSAGES_PAGE_SIZE).build();
|
||||
}
|
||||
else {
|
||||
case THREAD:
|
||||
setSubtitle(R.string.title_folder_thread);
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedThread(thread, debug), MESSAGES_PAGE_SIZE).build();
|
||||
}
|
||||
break;
|
||||
|
||||
messages.observe(getViewLifecycleOwner(), new Observer<PagedList<TupleMessageEx>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable PagedList<TupleMessageEx> messages) {
|
||||
if (messages == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.i(Helper.TAG, "Submit messages=" + messages.size());
|
||||
adapter.submitList(messages);
|
||||
|
||||
pbWait.setVisibility(View.GONE);
|
||||
grpReady.setVisibility(View.VISIBLE);
|
||||
|
||||
if (messages.size() == 0) {
|
||||
tvNoEmail.setVisibility(View.VISIBLE);
|
||||
rvMessage.setVisibility(View.GONE);
|
||||
} else {
|
||||
tvNoEmail.setVisibility(View.GONE);
|
||||
rvMessage.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Log.i(Helper.TAG, "Search state=" + searchState);
|
||||
setSubtitle(getString(R.string.title_searching, search));
|
||||
|
||||
if (searchCallback == null)
|
||||
searchCallback = new BoundaryCallbackMessages(
|
||||
getContext(), FragmentMessages.this,
|
||||
folder, search,
|
||||
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
||||
@Override
|
||||
public void onLoading() {
|
||||
pbWait.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoaded() {
|
||||
pbWait.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Context context, Throwable ex) {
|
||||
Toast.makeText(context, ex.toString(), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("folder", folder);
|
||||
args.putString("search", search);
|
||||
|
||||
new SimpleTask<Void>() {
|
||||
@Override
|
||||
protected Void onLoad(Context context, Bundle args) {
|
||||
if (searchState == SearchState.Reset) {
|
||||
long folder = args.getLong("folder");
|
||||
DB.getInstance(context).message().resetFound(folder);
|
||||
searchState = SearchState.Database;
|
||||
Log.i(Helper.TAG, "Search reset done");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLoaded(final Bundle args, Void data) {
|
||||
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(db.message().pagedFolder(folder, true, false), SEARCH_PAGE_SIZE);
|
||||
builder.setBoundaryCallback(searchCallback);
|
||||
LiveData<PagedList<TupleMessageEx>> messages = builder.build();
|
||||
messages.observe(getViewLifecycleOwner(), new Observer<PagedList<TupleMessageEx>>() {
|
||||
@Override
|
||||
public void onChanged(PagedList<TupleMessageEx> messages) {
|
||||
Log.i(Helper.TAG, "Submit found messages=" + messages.size());
|
||||
adapter.submitList(messages);
|
||||
grpReady.setVisibility(View.VISIBLE);
|
||||
}
|
||||
});
|
||||
|
||||
new SimpleTask<Long>() {
|
||||
@Override
|
||||
protected Long onLoad(Context context, Bundle args) throws Throwable {
|
||||
long last = 0;
|
||||
if (searchState == SearchState.Database) {
|
||||
last = new Date().getTime();
|
||||
long folder = args.getLong("folder");
|
||||
String search = args.getString("search").toLowerCase();
|
||||
DB db = DB.getInstance(context);
|
||||
for (long id : db.message().getMessageIDs(folder)) {
|
||||
EntityMessage message = db.message().getMessage(id);
|
||||
if (message != null) { // Message could be removed in the meantime
|
||||
String from = MessageHelper.getFormattedAddresses(message.from, true);
|
||||
if (from.toLowerCase().contains(search) ||
|
||||
message.subject.toLowerCase().contains(search) ||
|
||||
message.read(context).toLowerCase().contains(search)) {
|
||||
Log.i(Helper.TAG, "Search found id=" + id);
|
||||
db.message().setMessageFound(message.id, true);
|
||||
last = message.received;
|
||||
}
|
||||
}
|
||||
}
|
||||
searchState = SearchState.Boundary;
|
||||
Log.i(Helper.TAG, "Search database done");
|
||||
}
|
||||
return last;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLoaded(Bundle args, Long last) {
|
||||
pbWait.setVisibility(View.GONE);
|
||||
searchCallback.setEnabled(true);
|
||||
if (last > 0)
|
||||
searchCallback.load(last);
|
||||
}
|
||||
}.load(FragmentMessages.this, args);
|
||||
}
|
||||
}.load(this, args);
|
||||
case SEARCH:
|
||||
setSubtitle(getString(R.string.title_searching, search));
|
||||
break;
|
||||
}
|
||||
|
||||
// Messages
|
||||
loadMessages();
|
||||
|
||||
// Compose FAB
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("folder", folder);
|
||||
args.putLong("thread", thread);
|
||||
|
@ -650,16 +537,49 @@ public class FragmentMessages extends FragmentEx {
|
|||
@Override
|
||||
public void onPrepareOptionsMenu(Menu menu) {
|
||||
menu.findItem(R.id.menu_search).setVisible(folder >= 0 && search == null);
|
||||
menu.findItem(R.id.menu_sort_on).setVisible(TextUtils.isEmpty(search));
|
||||
menu.findItem(R.id.menu_folders).setVisible(primary >= 0);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
String sort = prefs.getString("sort", "time");
|
||||
if ("time".equals(sort))
|
||||
menu.findItem(R.id.menu_sort_on_time).setChecked(true);
|
||||
else if ("unread".equals(sort))
|
||||
menu.findItem(R.id.menu_sort_on_unread).setChecked(true);
|
||||
else if ("starred".equals(sort))
|
||||
menu.findItem(R.id.menu_sort_on_starred).setChecked(true);
|
||||
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.menu_sort_on_time:
|
||||
prefs.edit().putString("sort", "time").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
return true;
|
||||
|
||||
case R.id.menu_sort_on_unread:
|
||||
prefs.edit().putString("sort", "unread").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
return true;
|
||||
|
||||
case R.id.menu_sort_on_starred:
|
||||
prefs.edit().putString("sort", "starred").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
return true;
|
||||
|
||||
case R.id.menu_folders:
|
||||
onMenuFolders();
|
||||
loadMessages();
|
||||
return true;
|
||||
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -679,6 +599,148 @@ public class FragmentMessages extends FragmentEx {
|
|||
fragmentTransaction.commit();
|
||||
}
|
||||
|
||||
private void loadMessages() {
|
||||
final DB db = DB.getInstance(getContext());
|
||||
|
||||
// Observe folder/messages/search
|
||||
if (TextUtils.isEmpty(search)) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
String sort = prefs.getString("sort", "time");
|
||||
boolean debug = prefs.getBoolean("debug", false);
|
||||
|
||||
if (messages != null)
|
||||
messages.removeObservers(getViewLifecycleOwner());
|
||||
|
||||
switch (viewType) {
|
||||
case UNIFIED:
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedUnifiedInbox(sort, debug), MESSAGES_PAGE_SIZE).build();
|
||||
break;
|
||||
case FOLDER:
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedFolder(folder, sort, false, debug), MESSAGES_PAGE_SIZE).build();
|
||||
break;
|
||||
case THREAD:
|
||||
messages = new LivePagedListBuilder<>(db.message().pagedThread(thread, sort, debug), MESSAGES_PAGE_SIZE).build();
|
||||
break;
|
||||
}
|
||||
|
||||
messages.observe(getViewLifecycleOwner(), new Observer<PagedList<TupleMessageEx>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable PagedList<TupleMessageEx> messages) {
|
||||
if (messages == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
Log.i(Helper.TAG, "Submit messages=" + messages.size());
|
||||
adapter.submitList(messages);
|
||||
|
||||
pbWait.setVisibility(View.GONE);
|
||||
grpReady.setVisibility(View.VISIBLE);
|
||||
|
||||
if (messages.size() == 0) {
|
||||
tvNoEmail.setVisibility(View.VISIBLE);
|
||||
rvMessage.setVisibility(View.GONE);
|
||||
} else {
|
||||
tvNoEmail.setVisibility(View.GONE);
|
||||
rvMessage.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Log.i(Helper.TAG, "Search state=" + searchState);
|
||||
|
||||
if (searchCallback == null)
|
||||
searchCallback = new BoundaryCallbackMessages(
|
||||
getContext(), FragmentMessages.this,
|
||||
folder, search,
|
||||
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
||||
@Override
|
||||
public void onLoading() {
|
||||
pbWait.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoaded() {
|
||||
pbWait.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Context context, Throwable ex) {
|
||||
Toast.makeText(context, ex.toString(), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("folder", folder);
|
||||
args.putString("search", search);
|
||||
|
||||
new SimpleTask<Void>() {
|
||||
@Override
|
||||
protected Void onLoad(Context context, Bundle args) {
|
||||
if (searchState == SearchState.Reset) {
|
||||
long folder = args.getLong("folder");
|
||||
DB.getInstance(context).message().resetFound(folder);
|
||||
searchState = SearchState.Database;
|
||||
Log.i(Helper.TAG, "Search reset done");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLoaded(final Bundle args, Void data) {
|
||||
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(db.message().pagedFolder(folder, "time", true, false), SEARCH_PAGE_SIZE);
|
||||
builder.setBoundaryCallback(searchCallback);
|
||||
LiveData<PagedList<TupleMessageEx>> messages = builder.build();
|
||||
messages.observe(getViewLifecycleOwner(), new Observer<PagedList<TupleMessageEx>>() {
|
||||
@Override
|
||||
public void onChanged(PagedList<TupleMessageEx> messages) {
|
||||
Log.i(Helper.TAG, "Submit found messages=" + messages.size());
|
||||
adapter.submitList(messages);
|
||||
grpReady.setVisibility(View.VISIBLE);
|
||||
}
|
||||
});
|
||||
|
||||
new SimpleTask<Long>() {
|
||||
@Override
|
||||
protected Long onLoad(Context context, Bundle args) throws Throwable {
|
||||
long last = 0;
|
||||
if (searchState == SearchState.Database) {
|
||||
last = new Date().getTime();
|
||||
long folder = args.getLong("folder");
|
||||
String search = args.getString("search").toLowerCase();
|
||||
DB db = DB.getInstance(context);
|
||||
for (long id : db.message().getMessageIDs(folder)) {
|
||||
EntityMessage message = db.message().getMessage(id);
|
||||
if (message != null) { // Message could be removed in the meantime
|
||||
String from = MessageHelper.getFormattedAddresses(message.from, true);
|
||||
if (from.toLowerCase().contains(search) ||
|
||||
message.subject.toLowerCase().contains(search) ||
|
||||
message.read(context).toLowerCase().contains(search)) {
|
||||
Log.i(Helper.TAG, "Search found id=" + id);
|
||||
db.message().setMessageFound(message.id, true);
|
||||
last = message.received;
|
||||
}
|
||||
}
|
||||
}
|
||||
searchState = SearchState.Boundary;
|
||||
Log.i(Helper.TAG, "Search database done");
|
||||
}
|
||||
return last;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLoaded(Bundle args, Long last) {
|
||||
pbWait.setVisibility(View.GONE);
|
||||
searchCallback.setEnabled(true);
|
||||
if (last > 0)
|
||||
searchCallback.load(last);
|
||||
}
|
||||
}.load(FragmentMessages.this, args);
|
||||
}
|
||||
}.load(this, args);
|
||||
}
|
||||
}
|
||||
|
||||
void onNewMessages() {
|
||||
rvMessage.scrollToPosition(0);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/>
|
||||
</vector>
|
|
@ -9,6 +9,26 @@
|
|||
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||
app:showAsAction="collapseActionView|always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_sort_on"
|
||||
android:icon="@drawable/baseline_sort_24"
|
||||
android:title="@string/title_sort_on"
|
||||
app:showAsAction="ifRoom">
|
||||
<menu>
|
||||
<group android:checkableBehavior="single">
|
||||
<item
|
||||
android:id="@+id/menu_sort_on_time"
|
||||
android:title="@string/title_sort_on_time" />
|
||||
<item
|
||||
android:id="@+id/menu_sort_on_unread"
|
||||
android:title="@string/title_sort_on_unread" />
|
||||
<item
|
||||
android:id="@+id/menu_sort_on_starred"
|
||||
android:title="@string/title_sort_on_starred" />
|
||||
</group>
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_folders"
|
||||
android:icon="@drawable/baseline_folder_24"
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -186,6 +186,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -186,6 +186,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -186,6 +186,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -186,6 +186,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -186,6 +186,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Søg</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Søger \'%1$s \'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard svar</string>
|
||||
<string name="title_answer_name">Svarnavn</string>
|
||||
<string name="title_answer_text">Svartekst</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Suche</string>
|
||||
<string name="title_search_hint">Absender/Betreff/Text durchsuchen</string>
|
||||
<string name="title_searching">Suche „%1$s“</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standardantworten</string>
|
||||
<string name="title_answer_name">Antwort Name</string>
|
||||
<string name="title_answer_text">Antworttext</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Rechercher</string>
|
||||
<string name="title_search_hint">Rechercher expéditeur / objet / texte</string>
|
||||
<string name="title_searching">Recherche de \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Réponse standard</string>
|
||||
<string name="title_answer_name">Nom de la réponse</string>
|
||||
<string name="title_answer_text">Texte de la réponse</string>
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -166,6 +166,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -166,6 +166,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
<string name="title_account_name">Nazwa konta</string>
|
||||
<string name="title_account_name_hint">Używany do odróżnienia folderów</string>
|
||||
<string name="title_account_signature">Tekst podpisu</string>
|
||||
<string name="title_account_color">Color</string>
|
||||
<string name="title_account_color">Kolor</string>
|
||||
<string name="title_imap">IMAP</string>
|
||||
<string name="title_smtp">SMTP</string>
|
||||
<string name="title_provider">Dostawca</string>
|
||||
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Szukaj</string>
|
||||
<string name="title_search_hint">Wyszukaj nadawcę/temat/tekst</string>
|
||||
<string name="title_searching">Szukam \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standardowa odpowiedź</string>
|
||||
<string name="title_answer_name">Nazwa odpowiedzi</string>
|
||||
<string name="title_answer_text">Tekst odpowiedzi</string>
|
||||
|
@ -202,14 +206,14 @@
|
|||
<string name="title_pro_feature">Jest to funkcja pro</string>
|
||||
<string name="title_pro_list">Lista funkcji pro</string>
|
||||
<string name="title_pro_purchase">Kup</string>
|
||||
<string name="title_pro_hint">Kupno funkcje pro pozwoli Ci użyć wszystkie obecne i przyszłe funkcje pro i będzie utrzymywać i wspierać aplikację</string>
|
||||
<string name="title_pro_price">Please see <a href="https://github.com/M66B/open-source-email/blob/master/FAQ.md#FAQ19">this FAQ</a> about the price of the pro features</string>
|
||||
<string name="title_pro_hint">Kupno funkcji pro pozwoli Ci używać wszystkich obecnych i przyszłych funkcji pro oraz będzie utrzymywać i wspierać aplikację</string>
|
||||
<string name="title_pro_price">Po więcej informacji nt cen wejdź <a href="https://github.com/M66B/open-source-email/blob/master/FAQ.md#FAQ19">w ten FAQ</a></string>
|
||||
<string name="title_pro_activated">Wszystkie funkcje pro są aktywowane</string>
|
||||
<string name="title_pro_valid">Wszystkie funkcje pro aktywne</string>
|
||||
<string name="title_pro_invalid">Nieprawidłowa odpowiedź</string>
|
||||
<string name="title_pro_support">FairEmail needs your help. Tap to purchase pro features to keep the project going.</string>
|
||||
<string name="title_pro_support">FairEmail potrzebuje Twojej pomocy. Dotknij, aby zakupić funkcje pro i utrzymać projekt.</string>
|
||||
<string name="title_log">Log</string>
|
||||
<string name="title_debug_info">Info debugowania</string>
|
||||
<string name="title_debug_info_remark">Opisz proszę problem i wskaż moment jego wystąpienia:</string>
|
||||
<string name="title_crash_info_remark">Please describe what you were doing when the app crashed:</string>
|
||||
<string name="title_crash_info_remark">Opisz proszę, co robisz, w momencie awarii aplikacji:</string>
|
||||
</resources>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -174,6 +174,10 @@
|
|||
<string name="title_search">Caută</string>
|
||||
<string name="title_search_hint">Căutare expeditor/subiect/text</string>
|
||||
<string name="title_searching">Se caută \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Răspuns standard</string>
|
||||
<string name="title_answer_name">Titlu răspuns</string>
|
||||
<string name="title_answer_text">Text răspuns</string>
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -174,6 +174,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -170,6 +170,10 @@
|
|||
<string name="title_search">Ara</string>
|
||||
<string name="title_search_hint">Gönderen/konu/metin ara</string>
|
||||
<string name="title_searching">\'%1$s\' aranıyor</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standart yanıt</string>
|
||||
<string name="title_answer_name">Yanıt adı</string>
|
||||
<string name="title_answer_text">Yanıt metni</string>
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -166,6 +166,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -166,6 +166,10 @@
|
|||
<string name="title_search">搜索</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">搜索 “%1$s”</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">标准回复</string>
|
||||
<string name="title_answer_name">回复名称</string>
|
||||
<string name="title_answer_text">回复文本</string>
|
||||
|
|
|
@ -166,6 +166,10 @@
|
|||
<string name="title_search">Search</string>
|
||||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
|
@ -198,6 +198,11 @@
|
|||
<string name="title_search_hint">Search sender/subject/text</string>
|
||||
<string name="title_searching">Searching \'%1$s\'</string>
|
||||
|
||||
<string name="title_sort_on">Sort on</string>
|
||||
<string name="title_sort_on_time">Time</string>
|
||||
<string name="title_sort_on_unread">Unread</string>
|
||||
<string name="title_sort_on_starred">Starred</string>
|
||||
|
||||
<string name="title_answer_reply">Standard reply</string>
|
||||
<string name="title_answer_name">Answer name</string>
|
||||
<string name="title_answer_text">Answer text</string>
|
||||
|
|
Loading…
Reference in New Issue