improved translation label
This commit is contained in:
parent
670d74132d
commit
1c3d9e803d
|
@ -38,11 +38,11 @@ android {
|
||||||
dependencies {
|
dependencies {
|
||||||
apt 'com.bluelinelabs:logansquare-compiler:1.3.4'
|
apt 'com.bluelinelabs:logansquare-compiler:1.3.4'
|
||||||
apt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
apt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
||||||
apt 'com.github.mariotaku.ObjectCursor:processor:0.9.4'
|
apt 'com.github.mariotaku.ObjectCursor:processor:0.9.5'
|
||||||
compile 'com.android.support:support-annotations:23.2.0'
|
compile 'com.android.support:support-annotations:23.2.0'
|
||||||
compile 'com.bluelinelabs:logansquare:1.3.4'
|
compile 'com.bluelinelabs:logansquare:1.3.4'
|
||||||
compile 'com.github.mariotaku.RestFu:library:0.9.21'
|
compile 'com.github.mariotaku.RestFu:library:0.9.21'
|
||||||
compile 'com.hannesdorfmann.parcelableplease:annotation:1.0.2'
|
compile 'com.hannesdorfmann.parcelableplease:annotation:1.0.2'
|
||||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.4'
|
compile 'com.github.mariotaku.ObjectCursor:core:0.9.5'
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ public interface HelpResources {
|
||||||
* help/configuration | Twitter Developers</a>
|
* help/configuration | Twitter Developers</a>
|
||||||
* @since Twitter4J 2.2.3
|
* @since Twitter4J 2.2.3
|
||||||
*/
|
*/
|
||||||
|
@GET("/help/configuration.json")
|
||||||
TwitterAPIConfiguration getAPIConfiguration() throws TwitterException;
|
TwitterAPIConfiguration getAPIConfiguration() throws TwitterException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package org.mariotaku.twidere.model;
|
||||||
|
|
||||||
|
import android.os.Parcelable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mariotaku on 16/2/26.
|
||||||
|
*/
|
||||||
|
public interface AccountExtras extends Parcelable {
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
package org.mariotaku.twidere.model;
|
||||||
|
|
||||||
|
import android.os.Parcel;
|
||||||
|
import android.os.Parcelable;
|
||||||
|
|
||||||
|
import com.bluelinelabs.logansquare.annotation.JsonField;
|
||||||
|
import com.bluelinelabs.logansquare.annotation.JsonObject;
|
||||||
|
import com.hannesdorfmann.parcelableplease.annotation.ParcelablePlease;
|
||||||
|
import com.hannesdorfmann.parcelableplease.annotation.ParcelableThisPlease;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mariotaku on 16/2/26.
|
||||||
|
*/
|
||||||
|
@ParcelablePlease
|
||||||
|
@JsonObject
|
||||||
|
public class GNUSocialAccountExtra implements Parcelable, AccountExtras {
|
||||||
|
|
||||||
|
@ParcelableThisPlease
|
||||||
|
@JsonField(name = "character_limit")
|
||||||
|
int characterLimit;
|
||||||
|
|
||||||
|
public int getCharacterLimit() {
|
||||||
|
return characterLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCharacterLimit(int characterLimit) {
|
||||||
|
this.characterLimit = characterLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int describeContents() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
|
GNUSocialAccountExtraParcelablePlease.writeToParcel(this, dest, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Creator<GNUSocialAccountExtra> CREATOR = new Creator<GNUSocialAccountExtra>() {
|
||||||
|
public GNUSocialAccountExtra createFromParcel(Parcel source) {
|
||||||
|
GNUSocialAccountExtra target = new GNUSocialAccountExtra();
|
||||||
|
GNUSocialAccountExtraParcelablePlease.readFromParcel(target, source);
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GNUSocialAccountExtra[] newArray(int size) {
|
||||||
|
return new GNUSocialAccountExtra[size];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.model;
|
||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
import com.bluelinelabs.logansquare.annotation.JsonField;
|
import com.bluelinelabs.logansquare.annotation.JsonField;
|
||||||
import com.bluelinelabs.logansquare.annotation.JsonObject;
|
import com.bluelinelabs.logansquare.annotation.JsonObject;
|
||||||
|
@ -70,6 +71,14 @@ public class ParcelableAccount implements Parcelable {
|
||||||
@JsonField(name = "is_activated")
|
@JsonField(name = "is_activated")
|
||||||
@CursorField(Accounts.IS_ACTIVATED)
|
@CursorField(Accounts.IS_ACTIVATED)
|
||||||
public boolean is_activated;
|
public boolean is_activated;
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@ParcelableThisPlease
|
||||||
|
@JsonField(name = "account_type")
|
||||||
|
@CursorField(Accounts.ACCOUNT_TYPE)
|
||||||
|
public String account_type;
|
||||||
|
|
||||||
|
|
||||||
public static final Creator<ParcelableAccount> CREATOR = new Creator<ParcelableAccount>() {
|
public static final Creator<ParcelableAccount> CREATOR = new Creator<ParcelableAccount>() {
|
||||||
public ParcelableAccount createFromParcel(Parcel source) {
|
public ParcelableAccount createFromParcel(Parcel source) {
|
||||||
ParcelableAccount target = new ParcelableAccount();
|
ParcelableAccount target = new ParcelableAccount();
|
||||||
|
@ -86,12 +95,6 @@ public class ParcelableAccount implements Parcelable {
|
||||||
ParcelableAccount() {
|
ParcelableAccount() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ParcelableAccount dummyAccount() {
|
|
||||||
final ParcelableAccount account = new ParcelableAccount();
|
|
||||||
account.is_dummy = true;
|
|
||||||
return account;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ParcelableCredentials dummyCredentials() {
|
public static ParcelableCredentials dummyCredentials() {
|
||||||
final ParcelableCredentials credentials = new ParcelableCredentials();
|
final ParcelableCredentials credentials = new ParcelableCredentials();
|
||||||
credentials.is_dummy = true;
|
credentials.is_dummy = true;
|
||||||
|
@ -108,6 +111,7 @@ public class ParcelableAccount implements Parcelable {
|
||||||
", account_id=" + account_id +
|
", account_id=" + account_id +
|
||||||
", color=" + color +
|
", color=" + color +
|
||||||
", is_activated=" + is_activated +
|
", is_activated=" + is_activated +
|
||||||
|
", account_type='" + account_type + '\'' +
|
||||||
", is_dummy=" + is_dummy +
|
", is_dummy=" + is_dummy +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||||
* Created by mariotaku on 15/5/26.
|
* Created by mariotaku on 15/5/26.
|
||||||
*/
|
*/
|
||||||
@JsonObject
|
@JsonObject
|
||||||
@CursorObject
|
@CursorObject(valuesCreator = true)
|
||||||
@ParcelablePlease
|
@ParcelablePlease
|
||||||
public class ParcelableCredentials extends ParcelableAccount implements Parcelable {
|
public class ParcelableCredentials extends ParcelableAccount implements Parcelable {
|
||||||
|
|
||||||
|
@ -97,6 +97,10 @@ public class ParcelableCredentials extends ParcelableAccount implements Parcelab
|
||||||
@CursorField(Accounts.NO_VERSION_SUFFIX)
|
@CursorField(Accounts.NO_VERSION_SUFFIX)
|
||||||
public boolean no_version_suffix;
|
public boolean no_version_suffix;
|
||||||
|
|
||||||
|
@ParcelableThisPlease
|
||||||
|
@JsonField(name = "account_extras")
|
||||||
|
@CursorField(Accounts.ACCOUNT_EXTRAS)
|
||||||
|
public String account_extras;
|
||||||
|
|
||||||
ParcelableCredentials() {
|
ParcelableCredentials() {
|
||||||
}
|
}
|
||||||
|
@ -114,6 +118,7 @@ public class ParcelableCredentials extends ParcelableAccount implements Parcelab
|
||||||
", api_url_format='" + api_url_format + '\'' +
|
", api_url_format='" + api_url_format + '\'' +
|
||||||
", same_oauth_signing_url=" + same_oauth_signing_url +
|
", same_oauth_signing_url=" + same_oauth_signing_url +
|
||||||
", no_version_suffix=" + no_version_suffix +
|
", no_version_suffix=" + no_version_suffix +
|
||||||
|
", account_extras='" + account_extras + '\'' +
|
||||||
"} " + super.toString();
|
"} " + super.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package org.mariotaku.twidere.model;
|
||||||
|
|
||||||
|
import android.os.Parcel;
|
||||||
|
import android.os.Parcelable;
|
||||||
|
|
||||||
|
import com.hannesdorfmann.parcelableplease.annotation.ParcelablePlease;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mariotaku on 16/2/26.
|
||||||
|
*/
|
||||||
|
@ParcelablePlease
|
||||||
|
public class TwitterAccountExtra implements Parcelable, AccountExtras {
|
||||||
|
@Override
|
||||||
|
public int describeContents() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
|
TwitterAccountExtraParcelablePlease.writeToParcel(this, dest, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Creator<TwitterAccountExtra> CREATOR = new Creator<TwitterAccountExtra>() {
|
||||||
|
public TwitterAccountExtra createFromParcel(Parcel source) {
|
||||||
|
TwitterAccountExtra target = new TwitterAccountExtra();
|
||||||
|
TwitterAccountExtraParcelablePlease.readFromParcel(target, source);
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TwitterAccountExtra[] newArray(int size) {
|
||||||
|
return new TwitterAccountExtra[size];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -147,18 +147,23 @@ public interface TwidereDataStore {
|
||||||
String SAME_OAUTH_SIGNING_URL = "same_oauth_signing_url";
|
String SAME_OAUTH_SIGNING_URL = "same_oauth_signing_url";
|
||||||
String NO_VERSION_SUFFIX = "no_version_suffix";
|
String NO_VERSION_SUFFIX = "no_version_suffix";
|
||||||
|
|
||||||
|
String ACCOUNT_TYPE = "account_type";
|
||||||
|
|
||||||
|
String ACCOUNT_EXTRAS = "account_extras";
|
||||||
|
|
||||||
String[] COLUMNS_NO_CREDENTIALS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID,
|
String[] COLUMNS_NO_CREDENTIALS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID,
|
||||||
PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR, IS_ACTIVATED,
|
PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR, IS_ACTIVATED,
|
||||||
SORT_POSITION};
|
SORT_POSITION, ACCOUNT_TYPE};
|
||||||
|
|
||||||
String[] COLUMNS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID, AUTH_TYPE,
|
String[] COLUMNS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID, AUTH_TYPE,
|
||||||
BASIC_AUTH_USERNAME, BASIC_AUTH_PASSWORD, OAUTH_TOKEN, OAUTH_TOKEN_SECRET, CONSUMER_KEY,
|
BASIC_AUTH_USERNAME, BASIC_AUTH_PASSWORD, OAUTH_TOKEN, OAUTH_TOKEN_SECRET, CONSUMER_KEY,
|
||||||
CONSUMER_SECRET, API_URL_FORMAT, SAME_OAUTH_SIGNING_URL, NO_VERSION_SUFFIX, PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR,
|
CONSUMER_SECRET, API_URL_FORMAT, SAME_OAUTH_SIGNING_URL, NO_VERSION_SUFFIX, PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR,
|
||||||
IS_ACTIVATED, SORT_POSITION};
|
IS_ACTIVATED, SORT_POSITION, ACCOUNT_TYPE, ACCOUNT_EXTRAS};
|
||||||
|
|
||||||
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT_NOT_NULL, TYPE_TEXT_NOT_NULL,
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT_NOT_NULL, TYPE_TEXT_NOT_NULL, TYPE_INT_UNIQUE,
|
||||||
TYPE_INT_UNIQUE, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
||||||
TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, TYPE_INT, TYPE_BOOLEAN, TYPE_INT};
|
TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, TYPE_INT, TYPE_BOOLEAN, TYPE_INT,
|
||||||
|
TYPE_TEXT, TYPE_TEXT};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ dependencies {
|
||||||
androidTestApt 'com.bluelinelabs:logansquare-compiler:1.3.4'
|
androidTestApt 'com.bluelinelabs:logansquare-compiler:1.3.4'
|
||||||
apt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
apt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
||||||
apt 'com.google.dagger:dagger-compiler:2.0.2'
|
apt 'com.google.dagger:dagger-compiler:2.0.2'
|
||||||
apt "com.github.mariotaku.ObjectCursor:processor:0.9.4"
|
apt "com.github.mariotaku.ObjectCursor:processor:0.9.5"
|
||||||
|
|
||||||
compile 'com.android.support:multidex:1.0.1'
|
compile 'com.android.support:multidex:1.0.1'
|
||||||
compile 'com.android.support:support-v13:23.2.0'
|
compile 'com.android.support:support-v13:23.2.0'
|
||||||
|
@ -111,7 +111,7 @@ dependencies {
|
||||||
compile 'com.github.mariotaku.MediaViewerLibrary:base:0.9.10'
|
compile 'com.github.mariotaku.MediaViewerLibrary:base:0.9.10'
|
||||||
compile 'com.github.mariotaku.MediaViewerLibrary:subsample-image-view:0.9.10'
|
compile 'com.github.mariotaku.MediaViewerLibrary:subsample-image-view:0.9.10'
|
||||||
compile 'com.github.mariotaku.SQLiteQB:library:0.9.5'
|
compile 'com.github.mariotaku.SQLiteQB:library:0.9.5'
|
||||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.4'
|
compile 'com.github.mariotaku.ObjectCursor:core:0.9.5'
|
||||||
compile project(':twidere.component.common')
|
compile project(':twidere.component.common')
|
||||||
compile project(':twidere.component.nyan')
|
compile project(':twidere.component.nyan')
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ import static org.mariotaku.twidere.annotation.PreferenceType.STRING;
|
||||||
public interface Constants extends TwidereConstants {
|
public interface Constants extends TwidereConstants {
|
||||||
|
|
||||||
String DATABASES_NAME = "twidere.sqlite";
|
String DATABASES_NAME = "twidere.sqlite";
|
||||||
int DATABASES_VERSION = 122;
|
int DATABASES_VERSION = 123;
|
||||||
|
|
||||||
int MENU_GROUP_STATUS_EXTENSION = 10;
|
int MENU_GROUP_STATUS_EXTENSION = 10;
|
||||||
int MENU_GROUP_COMPOSE_EXTENSION = 11;
|
int MENU_GROUP_COMPOSE_EXTENSION = 11;
|
||||||
|
|
|
@ -1148,12 +1148,15 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
||||||
translateLabelView.setText(R.string.unknown_language);
|
translateLabelView.setText(R.string.unknown_language);
|
||||||
translateContainer.setVisibility(View.GONE);
|
translateContainer.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
translateLabelView.setText(new Locale(lang).getDisplayLanguage());
|
final Locale locale = new Locale(lang);
|
||||||
translateContainer.setVisibility(View.VISIBLE);
|
translateContainer.setVisibility(View.VISIBLE);
|
||||||
if (translation != null) {
|
if (translation != null) {
|
||||||
|
translateLabelView.setText(context.getString(R.string.translation));
|
||||||
translateResultView.setVisibility(View.VISIBLE);
|
translateResultView.setVisibility(View.VISIBLE);
|
||||||
translateResultView.setText(translation.getText());
|
translateResultView.setText(translation.getText());
|
||||||
} else {
|
} else {
|
||||||
|
translateLabelView.setText(context.getString(R.string.translate_from_language,
|
||||||
|
locale.getDisplayLanguage()));
|
||||||
translateResultView.setVisibility(View.GONE);
|
translateResultView.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -748,4 +748,6 @@
|
||||||
<string name="quote_name_text">Quote <xliff:g id="name">%1$s</xliff:g>: <xliff:g id="text">%2$s</xliff:g></string>
|
<string name="quote_name_text">Quote <xliff:g id="name">%1$s</xliff:g>: <xliff:g id="text">%2$s</xliff:g></string>
|
||||||
<string name="unsupported_login_verification_type_name">Unsupported login verification type <xliff:g id="name">%1$s</xliff:g>, please report to support account.</string>
|
<string name="unsupported_login_verification_type_name">Unsupported login verification type <xliff:g id="name">%1$s</xliff:g>, please report to support account.</string>
|
||||||
<string name="status_menu_title_format"><xliff:g id="name">%1$s</xliff:g>: <xliff:g id="text">%2$s</xliff:g></string>
|
<string name="status_menu_title_format"><xliff:g id="name">%1$s</xliff:g>: <xliff:g id="text">%2$s</xliff:g></string>
|
||||||
|
<string name="translate_from_language">Translate from <xliff:g id="language">%s</xliff:g></string>
|
||||||
|
<string name="translation">Translation</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue