Fixes #1688
|
|
@ -114,7 +114,7 @@ dependencies {
|
|||
implementation 'com.google.firebase:firebase-messaging-ktx'
|
||||
implementation 'com.google.firebase:firebase-config-ktx'
|
||||
implementation 'com.google.firebase:firebase-perf-ktx'
|
||||
implementation 'com.google.android.gms:play-services-auth:20.0.0'
|
||||
implementation 'com.google.android.gms:play-services-auth:20.0.1'
|
||||
implementation 'com.nex3z:flow-layout:1.2.2'
|
||||
|
||||
implementation 'androidx.core:core-ktx:1.7.0'
|
||||
|
|
|
|||
BIN
Habitica/res/drawable-hdpi/gem_footer.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
BIN
Habitica/res/drawable-xhdpi/gem_footer.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 8 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
BIN
Habitica/res/drawable-xxhdpi/gem_footer.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 20 KiB |
BIN
Habitica/res/drawable-xxxhdpi/gem_footer.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 27 KiB |
4
Habitica/res/drawable/gem_footer_bottom.xml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<bitmap android:src="@drawable/gem_footer"
|
||||
android:gravity="bottom"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android" />
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid
|
||||
android:color="@color/color_accent">
|
||||
android:color="@color/content_background">
|
||||
</solid>
|
||||
<corners
|
||||
android:radius="8dp">
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_marginBottom="@dimen/spacing_medium"
|
||||
android:text="@string/getting_started"
|
||||
android:text="@string/starting_objectives"
|
||||
android:textColor="@color/text_primary" />
|
||||
|
||||
<TextView
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/adventure_guide_description"
|
||||
android:text="@string/adventure_guide_description_new"
|
||||
android:textColor="@color/text_primary" />
|
||||
|
||||
<LinearLayout
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/lets_get_started"
|
||||
android:textColor="@color/text_quad" />
|
||||
android:textColor="@color/text_brand_neon" />
|
||||
</LinearLayout>
|
||||
|
||||
<ProgressBar
|
||||
|
|
@ -99,7 +99,7 @@
|
|||
android:layout_marginEnd="30dp"
|
||||
android:layout_marginBottom="@dimen/spacing_medium"
|
||||
android:progressBackgroundTint="@color/offset_background"
|
||||
android:progressTint="@color/yellow_50" />
|
||||
android:progressTint="@color/brand_400" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/achievement_container"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
android:background="@drawable/g1g1_box"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:clipChildren="true"
|
||||
android:clipToPadding="true"
|
||||
android:clickable="true"
|
||||
|
|
@ -79,10 +78,20 @@
|
|||
android:layout_marginBottom="12dp"
|
||||
android:layout_centerInParent="true"/>
|
||||
</RelativeLayout>
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/gem_footer"
|
||||
android:layout_gravity="bottom"
|
||||
android:scaleType="fitXY"
|
||||
tools:ignore="ContentDescription" />
|
||||
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="20dp">
|
||||
android:paddingHorizontal="20dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/header_image_view"
|
||||
|
|
@ -102,8 +111,8 @@
|
|||
android:lineSpacingExtra="4dp"
|
||||
android:layout_marginTop="23dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:layout_marginStart="@dimen/spacing_large"
|
||||
android:layout_marginEnd="@dimen/spacing_large" />
|
||||
android:layout_marginStart="@dimen/spacing_xlarge"
|
||||
android:layout_marginEnd="@dimen/spacing_xlarge" />
|
||||
|
||||
<com.habitrpg.android.habitica.ui.views.DayNightTextView
|
||||
android:text="@string/gem_purchase_listitem1"
|
||||
|
|
@ -209,8 +218,8 @@
|
|||
android:textColor="@color/text_quad"
|
||||
android:text="@string/gems_gift_description"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginStart="@dimen/spacing_large"
|
||||
android:layout_marginEnd="@dimen/spacing_large"/>
|
||||
android:layout_marginStart="@dimen/spacing_xlarge"
|
||||
android:layout_marginEnd="@dimen/spacing_xlarge"/>
|
||||
<Button
|
||||
android:id="@+id/gift_gems_button"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -219,27 +228,21 @@
|
|||
android:background="@color/transparent"
|
||||
android:textColor="?colorAccent"
|
||||
android:textAllCaps="false"/>
|
||||
|
||||
<TextView android:id="@+id/supportTextView"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingStart="41dp"
|
||||
android:paddingEnd="41dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:paddingTop="70dp"
|
||||
android:text="@string/gem_purchase_title"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:drawablePadding="@dimen/spacing_medium"/>
|
||||
</LinearLayout>
|
||||
<TextView android:id="@+id/supportTextView"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:paddingStart="41dp"
|
||||
android:paddingEnd="41dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:paddingTop="20dp"
|
||||
android:text="@string/gem_purchase_title"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/text_ternary"
|
||||
android:textSize="14sp"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:background="@color/window_background"
|
||||
android:drawablePadding="@dimen/spacing_medium"/>
|
||||
|
||||
<com.habitrpg.android.habitica.ui.views.promo.SubscriptionBuyGemsPromoView
|
||||
android:id="@+id/subscription_promo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="148dp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
|
@ -5,79 +5,38 @@
|
|||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/layout_rounded_bg_window"
|
||||
android:background="@drawable/layout_rounded_bg_brand_400"
|
||||
android:gravity="center"
|
||||
android:padding="14dp">
|
||||
android:padding="12dp">
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="65dp"
|
||||
android:layout_height="81dp"
|
||||
android:scaleType="center"
|
||||
android:id="@+id/gem_image"
|
||||
tools:src="@drawable/gems_21"
|
||||
android:contentDescription="@string/gems"
|
||||
android:layout_marginTop="20dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/amount_text_wrapper"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
<FrameLayout
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:clipChildren="true"
|
||||
android:clipToPadding="true">
|
||||
<ImageView
|
||||
android:id="@+id/amount_background_left"
|
||||
android:layout_width="132dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_gravity="start"
|
||||
/>
|
||||
</FrameLayout>
|
||||
<com.habitrpg.android.habitica.ui.views.DayNightTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/gem_amount"
|
||||
app:dayTextColor="@color/blue_10"
|
||||
app:dayTextColor="@color/white"
|
||||
app:nightTextColor="@color/white"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="36sp"
|
||||
tools:text="21" />
|
||||
<FrameLayout
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="8dp"
|
||||
android:clipChildren="true"
|
||||
android:clipToPadding="true">
|
||||
<ImageView
|
||||
android:id="@+id/amount_background_right"
|
||||
android:layout_width="132dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_gravity="end"
|
||||
/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<com.habitrpg.android.habitica.ui.views.DayNightTextView
|
||||
android:id="@+id/gems_text_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/gems"
|
||||
app:dayTextColor="@color/blue_10"
|
||||
app:nightTextColor="@color/white"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="14dp" />
|
||||
android:textSize="16sp"
|
||||
android:letterSpacing="0.027"
|
||||
android:fontFamily="@string/font_family_medium"
|
||||
android:layout_margin="10dp"
|
||||
tools:text="21 GEMS" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="38dp"
|
||||
android:id="@+id/purchase_button"
|
||||
android:background="@drawable/purchase_button_background"
|
||||
android:textColor="@color/white"
|
||||
android:textColor="@color/brand_400"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:letterSpacing="0.02"
|
||||
|
|
|
|||
|
|
@ -33,15 +33,33 @@
|
|||
tools:visibility="visible"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/headerNotesView"
|
||||
<LinearLayout
|
||||
android:id="@+id/header_notes_wrapper"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/text_quad"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
tools:text="@string/class_gear_disclaimer"/>
|
||||
android:gravity="center">
|
||||
<TextView
|
||||
android:id="@+id/headerNotesView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/text_quad"
|
||||
tools:text="@string/class_gear_disclaimer"/>
|
||||
<Button
|
||||
android:id="@+id/switch_class_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/switch_class"
|
||||
android:textSize="12sp"
|
||||
android:backgroundTint="@color/brand_400"
|
||||
android:layout_marginStart="6dp"
|
||||
android:minWidth="40dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
@ -881,7 +881,6 @@ Die Quest-Schriftrolle wird an den Quest-Besitzer zurückgegeben.</string>
|
|||
<string name="task_title">Aufgaben-Titel</string>
|
||||
<string name="add_local_authentication">Lokale Authentifizierung hinzufügen</string>
|
||||
<string name="defeat">Niederlage</string>
|
||||
<string name="gift_confirmation_text_gems">Du hast %s einige Edelsteine geschickt.</string>
|
||||
<string name="gift_confirmation_text_sub">Du hast %s ein %s-monatiges Abo für Habitica geschickt.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Du hast %s ein %s-monatiges Abo für Habitica geschickt und das gleiche Abo wurde Deinem Konto gutgeschrieben, dank unserer \"Verschenke ein Abo und erhalte eins gratis\"-Aktion!</string>
|
||||
<string name="join_party_description_guild">Gib den untenstehenden Benutzernamen einem Freund, oder geh zur %s um potenzielle Verbündete zu treffen!</string>
|
||||
|
|
@ -1058,7 +1057,6 @@ Die Quest-Schriftrolle wird an den Quest-Besitzer zurückgegeben.</string>
|
|||
<string name="percent_completed">%d%% Abgeschlossen</string>
|
||||
<string name="lets_get_started">Los geht\'s</string>
|
||||
<string name="your_progress">Dein Fortschritt</string>
|
||||
<string name="adventure_guide_description">Erledige diese Einstiegsaufgaben und Du wirst <b>5 Erfolge</b> freischalten und <font color=#EE9109><b>100 Goldstücke</b></font> erhalten, sobald Du fertig bist!</string>
|
||||
<string name="getting_started">Zu Beginn</string>
|
||||
<string name="complete_for_gold">Abschließen, um <font color=#EE9109><b>100 Gold</b></font> zu erhalten!</string>
|
||||
<string name="onboarding_tasks">Einstiegsaufgaben</string>
|
||||
|
|
|
|||
|
|
@ -879,7 +879,6 @@
|
|||
<string name="unlock_previous_short">Finish Quest %d</string>
|
||||
<string name="not_participating">You are not participating</string>
|
||||
<string name="quest_completed">Quest completed!</string>
|
||||
<string name="gift_confirmation_text_gems">You sent %s some gems.</string>
|
||||
<string name="gift_confirmation_text_sub">You sent %s a %s-month Habitica subscription.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">You sent %s a %s-month Habitica subscription and the same subscription was applied to your account for our Gift One Get One promotion!</string>
|
||||
<string name="gift_gems_subtitle">Choose the gem packet you’d like to gift below!</string>
|
||||
|
|
@ -1076,7 +1075,6 @@
|
|||
<string name="percent_completed">%d%% Complete</string>
|
||||
<string name="lets_get_started">Let\'s get started</string>
|
||||
<string name="your_progress">Your Progress</string>
|
||||
<string name="adventure_guide_description">Complete these onboarding tasks and you’ll earn <b>5 Achievements</b> and <font color=#EE9109><b>100 Gold</b></font> once you’re done!</string>
|
||||
<string name="getting_started">Getting Started</string>
|
||||
<string name="complete_for_gold">Complete to earn <font color=#EE9109><b>100 Gold</b></font>!</string>
|
||||
<string name="task_display">Task list display</string>
|
||||
|
|
|
|||
|
|
@ -875,7 +875,6 @@
|
|||
<string name="view_gem_bundles">Ver paquetes de Gemas</string>
|
||||
<string name="fall_promo_info_prompt">La Gala de Otoño está en pleno apogeo, así que pensamos que era el momento perfecto para presentar nuestra primera Venta de Gemas! Ahora obtendrás más gemas con cada compra como nunca antes.</string>
|
||||
<string name="defeat">Derrotar</string>
|
||||
<string name="gift_confirmation_text_gems">Has enviado algunas gemas a %s.</string>
|
||||
<string name="special_items">Artículos especiales</string>
|
||||
<string name="leave_keep_tasks">Abandonar y mantener Tareas</string>
|
||||
<string name="challenge_leave_description">Puedes elegir mantener las tareas de este desafío en tu tablero personal o eliminarlas cuando lo abandones</string>
|
||||
|
|
@ -1087,7 +1086,6 @@
|
|||
<string name="could_not_find_user">No se pudo encontrar al usuario</string>
|
||||
<string name="lets_get_started">Comencemos</string>
|
||||
<string name="animal_tail">Cola de animal</string>
|
||||
<string name="adventure_guide_description">Completa estas tareas de iniciación y ganarás <b>5 logros</b> y <font color=#EE9109><b>100 piezas de oro </b></font> una vez terminadas!</string>
|
||||
<string name="subscriber_currency">Divisa de subscripción</string>
|
||||
<string name="avatar_headband">Cinta de cabeza</string>
|
||||
<string name="quest_items_found">Has encontrado %d Artículos de Misión</string>
|
||||
|
|
|
|||
|
|
@ -847,7 +847,6 @@
|
|||
<string name="promo_subscription_buy_gems_description">Abonnez-vous pour acheter des gemmes avec de l\'or, obtenir des objets mystères tous les mois, augmenter le taux de butin et plus encore !</string>
|
||||
<string name="promo_subscription_buy_gems_prompt">Besoin de gemmes \?</string>
|
||||
<string name="transfer_ownership_confirm_message">Cela fera de %s le nouveau responsable de l\'équipe</string>
|
||||
<string name="gift_confirmation_text_gems">Vous avez envoyé des gemmes à %s.</string>
|
||||
<string name="gift_confirmation_text_sub">Vous avez envoyé à %s un abonnement de %s mois.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Vous avez envoyé à %s un abonnement de %s mois et le même abonnement vous a été accordé pour notre promotion Un en cadeau, un reçu !</string>
|
||||
<string name="gift_gems_subtitle">Choisissez le paquet de gemmes que vous voudriez offrir ci-dessous !</string>
|
||||
|
|
@ -1078,7 +1077,6 @@
|
|||
<string name="percent_completed">%d%% Complété</string>
|
||||
<string name="lets_get_started">Commençons</string>
|
||||
<string name="your_progress">Votre progression</string>
|
||||
<string name="adventure_guide_description">Remplissez ces tâches d\'initiation et vous gagnerez <b>5 succès</b> et <font color=#EE9109><b>100 pièces d\'or</b></font> une fois terminé !</string>
|
||||
<string name="getting_started">Pour commencer</string>
|
||||
<string name="complete_for_gold">Remplissez cette tâche pour gagner <font color=#EE9109><b>100 or</b></font> !</string>
|
||||
<string name="onboarding_tasks">Tâches d\'Intégration</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">Level:</string>
|
||||
<string name="profile_class_bonus">Bonus klase</string>
|
||||
<string name="profile_allocated">Raspodijeljeno:</string>
|
||||
<string name="profile_private_message">Privatna poruka</string>
|
||||
<string name="profile_achievements">Postignuća</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -747,7 +747,6 @@
|
|||
<string name="confirm_deletion">Konfirmasi penghapusan</string>
|
||||
<string name="leave_guild_challenges_confirmation">Apakah kamu ingin tetap berpartisipasi dalam Tantangan saat meninggalkan Perkumpulan\?</string>
|
||||
<string name="leave_guild_confirmation">Apakah kamu yakin ingin keluar dari perkumpulan ini\?</string>
|
||||
<string name="gift_confirmation_text_gems">Kamu mengirimkan %s beberapa permata.</string>
|
||||
<string name="gift_confirmation_text_sub">Kamu mengirimkan %s berlangganan %s-bulan Habitica.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Kamu mengirimkan %s sebuah berlangganan %s-bulan dan berlangganan yang sama telah diterapkan pada akunmu melalui promo kami Beri Satu Dapat Satu!</string>
|
||||
<string name="update_available">Update tersedia: %1$s (%2$d)</string>
|
||||
|
|
|
|||
|
|
@ -999,7 +999,6 @@
|
|||
<string name="switch_to_list_view">Passa alla vista elenco</string>
|
||||
<string name="delete_reminder">Elimina Promemoria</string>
|
||||
<string name="leave_guild_confirmation">Sei sicuro di voler abbandonare questa gilda\?</string>
|
||||
<string name="gift_confirmation_text_gems">Hai inviato alcune gemme a %s.</string>
|
||||
<string name="gift_confirmation_text_sub">Hai inviato a %s un abbonamento Habitica per %s mesi.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Hai inviato a %s un abbonamento Habitica per %s mesi e lo stesso abbonamento è stato aggiunto al tuo account per la nostra promozione Regalane uno Prendine Uno!</string>
|
||||
<string name="gift_gems_subtitle">Scegli qui di seguito il pacchetto di gemme che vuoi regalare!</string>
|
||||
|
|
@ -1037,7 +1036,6 @@
|
|||
<string name="percent_completed">%d%% completato</string>
|
||||
<string name="lets_get_started">Iniziamo</string>
|
||||
<string name="your_progress">I tuoi progressi</string>
|
||||
<string name="adventure_guide_description">Completa queste attività introduttive ed otterrai <b>5 Medaglie</b> e <font color=#EE9109><b>100 oro</b></font> una volta completate!</string>
|
||||
<string name="onboarding_tasks">Attività introduttive</string>
|
||||
<string name="task_display">Visualizzazione dell\'elenco delle attività</string>
|
||||
<string name="special_items">Oggetti speciali</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">レベル : </string>
|
||||
<string name="profile_class_bonus">クラスボーナス : </string>
|
||||
<string name="profile_allocated">割当済み : </string>
|
||||
<string name="profile_private_message">プライベートメッセージ</string>
|
||||
<string name="profile_achievements">実績</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -739,7 +739,6 @@
|
|||
<string name="sale">セール</string>
|
||||
<string name="new_password">新しいパスワード</string>
|
||||
<string name="add_local_authentication">ローカル認証を追加する</string>
|
||||
<string name="gift_confirmation_text_gems">%sにジェムを送りました。</string>
|
||||
<string name="need_more_help">もっと助けが必要ですか?</string>
|
||||
<string name="adjust_streak">連続実行を調整する</string>
|
||||
<string name="old_password">古いパスワード</string>
|
||||
|
|
@ -1020,7 +1019,6 @@
|
|||
<string name="purchase_equipment_title">装備を買う</string>
|
||||
<string name="lets_get_started">はじめましょう</string>
|
||||
<string name="your_progress">進捗</string>
|
||||
<string name="adventure_guide_description">これらの初心者入門のタスクを完了して、<b>5つの実績バッジ</b>と<font color=#EE9109><b>100ゴールド</b></font>をゲットしましょう!</string>
|
||||
<string name="getting_started">はじめよう</string>
|
||||
<string name="complete_for_gold">完了して<font color=#EE9109><b>100ゴールド</b></font>をゲットしましょう!</string>
|
||||
<string name="onboarding_tasks">初心者入門のタスク</string>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<string name="profile_level">레벨:</string>
|
||||
<string name="profile_class_bonus">직업 보너스:</string>
|
||||
<string name="profile_allocated">할당된 포인트:</string>
|
||||
<string name="profile_private_message">개인 메시지</string>
|
||||
<string name="profile_achievements">업적</string>
|
||||
<string name="profile_loading_data">회원 정보를 불러오는 중입니다…</string>
|
||||
</resources>
|
||||
|
|
@ -802,7 +802,6 @@
|
|||
<string name="subscribe_listitem5">아이템 드롭이 두 배</string>
|
||||
<string name="subscribe_listitem3_description_new">지금 %s를 받고 매달 새로운 아이템을 받으려면 구독하세요!</string>
|
||||
<string name="leave_guild_confirmation">길드를 탈퇴하고 도전을 계속하거나 그만두시겠습니까\?</string>
|
||||
<string name="gift_confirmation_text_gems">%s 에게 보석을 선물했습니다.</string>
|
||||
<string name="gift_confirmation_text_sub">%s 에게 %s-개월 해비티카 구독권을 선물했습니다.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">원 플러스 원 프로모션을 통해 %s 에게 %s-개월 해비티카 구독권을 선물하고 동일한 구독 기간이 본인의 계정에도 적용되었습니다!</string>
|
||||
<string name="gift_gems_subtitle">선물하고 싶은 보석 꾸러미를 선택하세요!</string>
|
||||
|
|
@ -1010,7 +1009,6 @@
|
|||
<string name="lets_get_started">시작합시다</string>
|
||||
<string name="animal_tail">동물 꼬리</string>
|
||||
<string name="purchasedEquipmentDescription">장비는 그저 장식용일수도 있고</string>
|
||||
<string name="adventure_guide_description">5개의 과제를 완수하고 <b>5개의 업적</b> 과 <font color=#EE9109><b>100 골드</b></font> 를 수령하세요!</string>
|
||||
<string name="complete_task_description">완수한 과제를 체크하고 보상을 수령하세요</string>
|
||||
<string name="completedTaskDescription">과제는 습관이나 일과, 또는 할일이 될수도 있습니다.
|
||||
\n계속 완수하고 여러가지 보상을 수령하세요!</string>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<string name="profile_level">Lygis:</string>
|
||||
<string name="profile_class_bonus">Klasės-Bonusai:</string>
|
||||
<string name="profile_allocated">Priskirta:</string>
|
||||
<string name="profile_private_message">Privati Žinutė</string>
|
||||
<string name="profile_loading_data">Įkeliami narių duomenys …</string>
|
||||
<string name="profile_achievements">Pasiekimai</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">Niveau:</string>
|
||||
<string name="profile_class_bonus">Klassebonus:</string>
|
||||
<string name="profile_allocated">Toegewezen:</string>
|
||||
<string name="profile_private_message">Privébericht</string>
|
||||
<string name="profile_achievements">Prestaties</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -864,7 +864,6 @@
|
|||
<string name="preference_push_important_announcements">Belangrijke mededelingen</string>
|
||||
<string name="damage_paused">Schade is onderbroken</string>
|
||||
<string name="discover">Ontdekken</string>
|
||||
<string name="gift_confirmation_text_gems">Je hebt %s enkele edelstenen gestuurd.</string>
|
||||
<string name="gift_confirmation_text_sub">Je hebt %s een %s-maand Habitica abonnement gestuurd.</string>
|
||||
<string name="task_title">Taaktitel</string>
|
||||
<string name="create_party">Gezelschap aanmaken</string>
|
||||
|
|
@ -994,7 +993,6 @@
|
|||
<string name="complete_for_gold">Rond deze af om <font color=#EE9109><b>100 Goud</b></font> te verdienen!</string>
|
||||
<string name="onboarding_tasks">Onboarding Taken</string>
|
||||
<string name="your_progress">Jouw Vooruitgang</string>
|
||||
<string name="adventure_guide_description">Rond deze Onboarding Taken af en je verdient <b>5 Prestaties</b> en <font color=#EE9109><b>100 Goud</b></font> wanneer je klaar bent!</string>
|
||||
<string name="onboardingComplete_achievement_title">Je hebt je Onboarding Taken afgerond!</string>
|
||||
<string name="view_onboarding_tasks">Bekijk Onboarding Taken</string>
|
||||
<string name="equip">Aantrekken</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">Poziom:</string>
|
||||
<string name="profile_class_bonus">Premia klasowa:</string>
|
||||
<string name="profile_allocated">Umieszczone:</string>
|
||||
<string name="profile_private_message">Wiadomość prywatna</string>
|
||||
<string name="profile_achievements">Osiągnięcia</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -778,7 +778,6 @@
|
|||
<string name="need_more_help">Potrzebujesz więcej wsparcia\?</string>
|
||||
<string name="create_party">Stwórz drużynę</string>
|
||||
<string name="create">Stwórz</string>
|
||||
<string name="gift_confirmation_text_gems">Wysłałeś %s trochę klejnotów.</string>
|
||||
<string name="gift_confirmation_text_sub">Wysłałeś %s %s-miesięczną subskrypcję Habitica.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Wysłałeś %s %s-miesięczną subskrypcję Habitica i taka sama subskrypcja zasiliła Twoje konto w ramach promocji Dajesz - Dostajesz!</string>
|
||||
<string name="gift_gems_subtitle">Wybierz pakiet klejnotów do podarowania poniżej!</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">Nível:</string>
|
||||
<string name="profile_class_bonus">Bônus de Classe:</string>
|
||||
<string name="profile_allocated">Alocado:</string>
|
||||
<string name="profile_private_message">Mensagem Privada</string>
|
||||
<string name="profile_achievements">Conquistas</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -859,7 +859,6 @@
|
|||
<string name="add_local_authentication">Adicionar autenticação local</string>
|
||||
<string name="defeat">Derrotar</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Você enviou para %s uma assinatura por %s mês/meses no Habitica e a mesma assinatura foi aplicada à sua conta para a nossa promoção \"Presenteie com uma e ganhe outra\"!</string>
|
||||
<string name="gift_confirmation_text_gems">Você enviou algumas gemas para %s.</string>
|
||||
<string name="gift_confirmation_text_sub">Você enviou para %s uma assinatura por %s mês/meses no Habitica.</string>
|
||||
<string name="gift_gems_subtitle">Selecione abaixo o pacote de gemas que você deseja presentear!</string>
|
||||
<string name="join_party_description_guild">Dê o nome de usuário abaixo a um amigo ou vá para %s para conhecer potenciais camaradas!</string>
|
||||
|
|
@ -1072,7 +1071,6 @@
|
|||
<string name="percent_completed">%d%% Completo</string>
|
||||
<string name="lets_get_started">Vamos começar</string>
|
||||
<string name="your_progress">Seu Progresso</string>
|
||||
<string name="adventure_guide_description">Complete essas tarefas iniciais e você vai ganhar <b>5 Conquistas</b> e <font color=#EE9109><b>100 Ouro</b></font> quando terminar!</string>
|
||||
<string name="onboarding_tasks">Tarefas Iniciais</string>
|
||||
<string name="getting_started">Começando</string>
|
||||
<string name="complete_for_gold">Complete para ganhar <font color=#EE9109><b>100 Ouro</b></font>!</string>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,5 @@
|
|||
<string name="profile_level">Nível:</string>
|
||||
<string name="profile_class_bonus">Bónus-classe:</string>
|
||||
<string name="profile_allocated">Alocada:</string>
|
||||
<string name="profile_private_message">Mensagem Privada</string>
|
||||
<string name="profile_achievements">Conquistas</string>
|
||||
</resources>
|
||||
|
|
@ -9,6 +9,5 @@
|
|||
<string name="profile_level">Уровень:</string>
|
||||
<string name="profile_class_bonus">Класс-Бонус:</string>
|
||||
<string name="profile_allocated">Выделено:</string>
|
||||
<string name="profile_private_message">Личное сообщение</string>
|
||||
<string name="profile_achievements">Достижения</string>
|
||||
</resources>
|
||||
|
|
@ -940,7 +940,6 @@
|
|||
<string name="leave_delete_x_tasks">Покинуть & удалить задания: %d</string>
|
||||
<string name="hatchedPetTitle">Вырастил(-а) питомца</string>
|
||||
<string name="hatch_pet">Вырастить питомца</string>
|
||||
<string name="adventure_guide_description">Выполните эти задания и в итоге получите <b>5 достижений</b> и <font color=#EE9109><b>100 золота</b></font>!</string>
|
||||
<string name="pet_ownership_fraction">%1$d / %2$d</string>
|
||||
<string name="subscribe_listitem5">Удвойте количество выпадающих предметов</string>
|
||||
<string name="pms_disabled">Личные сообщения заблокированы</string>
|
||||
|
|
@ -964,7 +963,6 @@
|
|||
<string name="empty_description_todos_filtered">Нет Задач для отображения по текущим фильтрам.</string>
|
||||
<string name="empty_description_dailies_filtered">Нет Ежедневных дел для отображения по текущим фильтрам.</string>
|
||||
<string name="empty_description_habits_filtered">Нет Привычек для отображения по текущим фильтрам.</string>
|
||||
<string name="gift_confirmation_text_gems">Вы отправили %s несколько самоцветов.</string>
|
||||
<string name="remove_member">Удалить участника</string>
|
||||
<string name="inbox_messages_title">Вы получили %1$d сообщений от %2$s</string>
|
||||
<string name="delete_reminder">Удалить напоминание</string>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="profile_achievements">Prestationer</string>
|
||||
<string name="profile_private_message">Privat Meddelande</string>
|
||||
<string name="profile_class_bonus">Klassbonus:</string>
|
||||
<string name="profile_level">Level:</string>
|
||||
<string name="profile_message_sent_to">Meddelande skickat till %s</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">Seviye:</string>
|
||||
<string name="profile_class_bonus">Sınıf-Bonusu:</string>
|
||||
<string name="profile_allocated">Dağıtılmış:</string>
|
||||
<string name="profile_private_message">Özel Mesaj</string>
|
||||
<string name="profile_achievements">Başarılar</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -738,7 +738,6 @@
|
|||
<string name="task_title">Görev Başlığı</string>
|
||||
<string name="add_local_authentication">Yerel Kimlik Doğrulama Ekle</string>
|
||||
<string name="defeat">Yenilgi</string>
|
||||
<string name="gift_confirmation_text_gems">%s elmas gönderdin.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">%s kullanıcısına %s-month aylık Habitica üyeliği hediye ettin ve 1 alana 1 bedava kampanyamızla aynı üyeliği sen de kazandın!</string>
|
||||
<string name="gift_confirmation_text_sub">%s kullanıcısına %s aylık Habitica üyeliği hediye ettin.</string>
|
||||
<string name="gift_gems_subtitle">Hediye etmek istediğin elmas paketini seç!</string>
|
||||
|
|
@ -1029,7 +1028,6 @@
|
|||
<string name="hatchedPetTitle">Bir evcil hayvan yumurtadan çıktı</string>
|
||||
<string name="feedPet_description">Yiyecek almak için görevleri tamamlayın! Evcil hayvanınızı Evcil Hayvanlar ve Binekler bölümünden besleyebilirsiniz</string>
|
||||
<string name="hatch_pet_title">Yeni bir evcil hayvan yumurtadan çıkarttı</string>
|
||||
<string name="adventure_guide_description">Bu işe alım görevlerini tamamladığınızda, işiniz bittiğinde <b>5 Başarı</b> ve <font color = # EE9109> <b>100 Altın</b></font> kazanacaksınız!</string>
|
||||
<string name="getting_started">Başlangıç</string>
|
||||
<string name="onboarding_tasks">İlk Katılım Görevleri</string>
|
||||
<string name="task_display">Görev listesi ekranı</string>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="profile_achievements">Досягнення</string>
|
||||
<string name="profile_private_message">Особисте повідмлення</string>
|
||||
<string name="profile_allocated">Розподілено:</string>
|
||||
<string name="profile_class_bonus">Клас-Бонус:</string>
|
||||
<string name="profile_level">Рівень:</string>
|
||||
|
|
|
|||
|
|
@ -404,7 +404,6 @@
|
|||
<string name="preference_push_important_announcements">Важливі оголошення</string>
|
||||
<string name="damage_paused">Шкоду зупинено</string>
|
||||
<string name="discover">Відкрити</string>
|
||||
<string name="gift_confirmation_text_gems">Ви надіслали %s певних самоцвітів.</string>
|
||||
<string name="gift_confirmation_title">Ваш подарунок відправлено!</string>
|
||||
<string name="server">Сервер</string>
|
||||
<string name="gift_one_get_one">Подаруй, Отримай!</string>
|
||||
|
|
@ -990,7 +989,6 @@
|
|||
<string name="percent_completed">%d%% завершено</string>
|
||||
<string name="lets_get_started">Приступаємо</string>
|
||||
<string name="your_progress">Ваш прогрес</string>
|
||||
<string name="adventure_guide_description">Виконайте ці завдання і в результаті отримайте <b>5 досягнень</b> і <font color=#EE9109><b>100 золота</b></font>!</string>
|
||||
<string name="complete_for_gold">Виконайте, щоб отримати <font color=#EE9109><b>100 золота</b></font>!</string>
|
||||
<string name="onboarding_tasks">Перші завдання</string>
|
||||
<string name="task_display">Відображення списку завдань</string>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
<string name="profile_send_message_to">Gửi tin nhắn tới %s</string>
|
||||
<string name="profile_message_sent_to">Tin nhắn đã gửi tới %s</string>
|
||||
<string name="profile_level">Cấp độ:</string>
|
||||
<string name="profile_private_message">Tin nhắn riêng tư</string>
|
||||
<string name="profile_achievements">Những thành tựu</string>
|
||||
<string name="profile_allocated">Phân Bố:</string>
|
||||
<string name="profile_class_bonus">Hiệu ứng Chức nghiệp:</string>
|
||||
|
|
|
|||
|
|
@ -730,7 +730,6 @@
|
|||
<string name="preference_push_important_announcements">Thông báo Quan trọng</string>
|
||||
<string name="damage_paused">Sát thương đã tạm dừng</string>
|
||||
<string name="discover">Khám phá</string>
|
||||
<string name="gift_confirmation_text_gems">Bạn đã tặng %s một vài Gem.</string>
|
||||
<string name="gift_confirmation_text_sub">Bạn đã tặng %s một gói đăng ký Habitica %s-month.</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">Bạn đã gửi cho %s một gói đăng ký Habitica %s-month và gói đăng ký tương tự đã được kích hoạt cho tài khoản của bạn với chương trình khuyến mãi Tặng Một Có Một của chúng tôi!</string>
|
||||
<string name="gift_confirmation_title">Quà của bạn đã được gửi!</string>
|
||||
|
|
@ -1075,7 +1074,6 @@
|
|||
<string name="percent_completed">Hoàn thành %d%%</string>
|
||||
<string name="lets_get_started">Bắt đầu nào</string>
|
||||
<string name="your_progress">Tiến trình của bạn</string>
|
||||
<string name="adventure_guide_description">Hoàn thành những công việc nhập môn và bạn sẽ kiếm <b>5 Thành tựu</b> và <font color=#EE9109><b>100 Vàng</b></font> khi bạn hoàn thành!</string>
|
||||
<string name="getting_started">Bắt đầu nào</string>
|
||||
<string name="complete_for_gold">Hoàn thành để kiếm <font color=#EE9109><b>100 Vàng</b></font>!</string>
|
||||
<string name="onboarding_tasks">Công việc Nhập môn</string>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,5 @@
|
|||
<string name="profile_level">等級:</string>
|
||||
<string name="profile_class_bonus">加成獎勵:</string>
|
||||
<string name="profile_allocated">已分配:</string>
|
||||
<string name="profile_private_message">私人訊息</string>
|
||||
<string name="profile_achievements">成就</string>
|
||||
</resources>
|
||||
|
|
@ -915,7 +915,6 @@
|
|||
<string name="task_title">任務標題</string>
|
||||
<string name="add_local_authentication">新增地區性驗證</string>
|
||||
<string name="defeat">擊退</string>
|
||||
<string name="gift_confirmation_text_gems">你送給%s一些寶石。</string>
|
||||
<string name="gift_confirmation_text_sub">你送給%s一個%s個月的Habitica訂閱。</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">你送給%s一個%s個月的Habitica訂閱,由於買一贈一促銷活動,你也獲得了同樣時長的訂閱!</string>
|
||||
<string name="gift_gems_subtitle">在下面選擇你要贈送的寶石包!</string>
|
||||
|
|
@ -1077,7 +1076,6 @@
|
|||
<string name="percent_completed">%d%%已完成</string>
|
||||
<string name="lets_get_started">我們開始吧</string>
|
||||
<string name="your_progress">你的進展</string>
|
||||
<string name="adventure_guide_description">完成這些新手入門任務,立即獲得<b>5項成就</b>和<font color=#EE9109><b>100金幣</b></font>!</string>
|
||||
<string name="getting_started">起步</string>
|
||||
<string name="complete_for_gold">完成可掙得<font color=#EE9109><b>100金幣</b></font>!</string>
|
||||
<string name="onboarding_tasks">新手任務</string>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<string name="profile_level">级别:</string>
|
||||
<string name="profile_class_bonus">职业的额外奖励:</string>
|
||||
<string name="profile_allocated">已分配:</string>
|
||||
<string name="profile_private_message">私信</string>
|
||||
<string name="profile_achievements">成就</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -848,7 +848,6 @@
|
|||
<string name="resubscribe_description">要继续用您的订阅增值?您可以在现在的订阅结束前开始新的订阅,就能继续使用。</string>
|
||||
<string name="save_20">节省20%</string>
|
||||
<string name="gifted">赠送了</string>
|
||||
<string name="gift_confirmation_text_gems">你送给%s一些宝石。</string>
|
||||
<string name="gift_confirmation_text_sub">你送给%s一个%s个月的Habitica订阅。</string>
|
||||
<string name="gift_confirmation_text_sub_g1g1">你送给%s一个%s个月的Habitica订阅,由于买一赠一促销活动,你也获得了同样时长的订阅!</string>
|
||||
<string name="gift_gems_subtitle">在下面选择你要赠送的宝石包!</string>
|
||||
|
|
@ -1053,7 +1052,6 @@
|
|||
<string name="lets_get_started">我们开始吧</string>
|
||||
<string name="your_progress">你的进展</string>
|
||||
<string name="onboarding_tasks">新手任务</string>
|
||||
<string name="adventure_guide_description">完成这些新手入门任务,立即获得<b>5项成就</b>和<font color=#EE9109><b>100金币</b></font>!</string>
|
||||
<string name="getting_started">起步</string>
|
||||
<string name="complete_for_gold">完成可挣得<font color=#EE9109><b>100金币</b></font>!</string>
|
||||
<string name="task_display">展示任务列表</string>
|
||||
|
|
|
|||
|
|
@ -311,6 +311,7 @@
|
|||
<string name="opt_out_class">Opt Out</string>
|
||||
<string name="opting_out_progress">Opting Out</string>
|
||||
<string name="class_confirmation">Are you sure you want to be a %s?</string>
|
||||
<string name="class_confirmation_price">Do you want to change your class to %s for %d gems?</string>
|
||||
<string name="class_changed">You are now a %s!</string>
|
||||
<string name="class_changed_description">You have new default Battle Gear that you can change under Equipment!</string>
|
||||
<string name="choose_class">Choose Class</string>
|
||||
|
|
@ -1040,7 +1041,7 @@
|
|||
<string name="complete_for_gold"><![CDATA[Complete to earn <font color="#EE9109"><b>100 Gold</b></font>!]]></string>
|
||||
<string name="delete_checklist_entry">Delete…</string>
|
||||
<string name="getting_started">Getting Started</string>
|
||||
<string name="adventure_guide_description"><![CDATA[Complete these onboarding tasks and you’ll earn <b>5 Achievements</b> and <font color="#EE9109"><b>100 Gold</b></font> once you’re done!]]></string>
|
||||
<string name="adventure_guide_description_new"><![CDATA[Complete these objectives and you’ll earn <b>5 Achievements</b> and <font color="#EE9109"><b>100 Gold</b></font> once you’re done!]]></string>
|
||||
<string name="your_progress">Your Progress</string>
|
||||
<string name="lets_get_started">Let\'s get started</string>
|
||||
<string name="percent_completed">%d%% Complete</string>
|
||||
|
|
@ -1208,4 +1209,6 @@
|
|||
<string name="password_not_matching">Password needs to be typed correctly twice</string>
|
||||
<string name="email_invalid">Invalid Email address</string>
|
||||
<string name="successful_purchase_generic">Purchase successful</string>
|
||||
<string name="starting_objectives">Starting Objectives</string>
|
||||
<string name="switch_class">Switch Class</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- All possible font familys -->
|
||||
<string name="font_family_medium">sans-serif-medium</string>
|
||||
<string name="font_family_regular">sans-serif</string>
|
||||
<string name="font_family_condensed">sans-serif-condensed</string>
|
||||
<string name="font_family_medium" translatable="false">sans-serif-medium</string>
|
||||
<string name="font_family_regular" translatable="false">sans-serif</string>
|
||||
<string name="font_family_condensed" translatable="false">sans-serif-condensed</string>
|
||||
|
||||
<!-- Titles -->
|
||||
<style name="Title1">
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@
|
|||
</style>
|
||||
|
||||
<style name="GemPurchaseListItem">
|
||||
<item name="dayTextColor">@color/text_brand</item>
|
||||
<item name="dayTextColor">@color/brand_200</item>
|
||||
<item name="nightTextColor">@color/gray_400</item>
|
||||
<item name="android:gravity">center_horizontal</item>
|
||||
<item name="android:textSize">12sp</item>
|
||||
|
|
|
|||
|
|
@ -149,7 +149,8 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli
|
|||
|
||||
override fun disableClasses(): Flowable<User> = apiClient.disableClasses().flatMap { retrieveUser(withTasks = false, forced = true) }
|
||||
|
||||
override fun changeClass(selectedClass: String): Flowable<User> = apiClient.changeClass(selectedClass).flatMap { retrieveUser(false) }
|
||||
override fun changeClass(selectedClass: String): Flowable<User> = apiClient.changeClass(selectedClass)
|
||||
.flatMap { retrieveUser(false) }
|
||||
|
||||
override fun unlockPath(user: User?, customization: Customization): Flowable<UnlockResponse> {
|
||||
var path = customization.path
|
||||
|
|
|
|||
|
|
@ -93,32 +93,14 @@ class FallExtraGemsHabiticaPromotion(startDate: Date?, endDate: Date?) : Habitic
|
|||
val context = binding.root.context
|
||||
binding.root.background = promoBackgroundDrawable(context)
|
||||
binding.purchaseButton.background = buttonDrawable(context)
|
||||
val colors = listOf(
|
||||
ContextCompat.getColor(context, R.color.red_10),
|
||||
ContextCompat.getColor(context, R.color.blue_50),
|
||||
ContextCompat.getColor(context, R.color.green_50),
|
||||
ContextCompat.getColor(context, R.color.brand_300)
|
||||
).shuffled()
|
||||
val drawable = BitmapDrawable(
|
||||
context.resources,
|
||||
HabiticaIconsHelper.imageOfFallGemPromoBG(
|
||||
colors[0],
|
||||
colors[1],
|
||||
colors[2],
|
||||
colors[3]
|
||||
)
|
||||
)
|
||||
binding.amountBackgroundLeft.background = drawable
|
||||
binding.amountBackgroundRight.background = drawable
|
||||
binding.gemAmount.setTextColor(Color.parseColor("#FEE2B6"))
|
||||
binding.gemsTextView.setTextColor(Color.parseColor("#FEE2B6"))
|
||||
binding.footerTextView.visibility = View.VISIBLE
|
||||
binding.footerTextView.text = context.getString(R.string.usually_x_gems, regularAmount)
|
||||
binding.gemAmount.text = when (regularAmount) {
|
||||
4 -> "5"
|
||||
21 -> "30"
|
||||
42 -> "60"
|
||||
84 -> "125"
|
||||
4 -> "5 GEMS"
|
||||
21 -> "30 GEMS"
|
||||
42 -> "60 GEMS"
|
||||
84 -> "125 GEMS"
|
||||
else -> regularAmount.toString()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,21 +93,14 @@ class SpookyExtraGemsHabiticaPromotion(startDate: Date?, endDate: Date?) : Habit
|
|||
val context = binding.root.context
|
||||
binding.root.background = promoBackgroundDrawable(context)
|
||||
binding.purchaseButton.background = buttonDrawable(context)
|
||||
val drawable = BitmapDrawable(
|
||||
context.resources,
|
||||
HabiticaIconsHelper.imageOfSpookyGemPromoBG()
|
||||
)
|
||||
binding.amountBackgroundLeft.background = drawable
|
||||
binding.amountBackgroundRight.background = drawable
|
||||
binding.gemAmount.setTextColor(Color.parseColor("#FEE2B6"))
|
||||
binding.gemsTextView.setTextColor(Color.parseColor("#FEE2B6"))
|
||||
binding.footerTextView.visibility = View.VISIBLE
|
||||
binding.footerTextView.text = context.getString(R.string.usually_x_gems, regularAmount)
|
||||
binding.gemAmount.text = when (regularAmount) {
|
||||
4 -> "5"
|
||||
21 -> "30"
|
||||
42 -> "60"
|
||||
84 -> "125"
|
||||
4 -> "5 GEMS"
|
||||
21 -> "30 GEMS"
|
||||
42 -> "60 GEMS"
|
||||
84 -> "125 GEMS"
|
||||
else -> regularAmount.toString()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class GemPurchaseOptionsView(context: Context, attrs: AttributeSet) : FrameLayou
|
|||
0, 0
|
||||
)
|
||||
|
||||
binding.gemAmount.text = a.getText(R.styleable.GemPurchaseOptionsView_gemAmount)
|
||||
binding.gemAmount.text = "${a.getText(R.styleable.GemPurchaseOptionsView_gemAmount)} GEMS"
|
||||
|
||||
val iconRes = a.getDrawable(R.styleable.GemPurchaseOptionsView_gemDrawable)
|
||||
if (iconRes != null) {
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ class AdventureGuideActivity : BaseActivity() {
|
|||
Pair("purchasedEquipment", getString(R.string.purchase_equipment_description))
|
||||
)
|
||||
|
||||
val descriptionText = getString(R.string.adventure_guide_description)
|
||||
val descriptionText = getString(R.string.adventure_guide_description_new)
|
||||
binding.descriptionView.setText(descriptionText.fromHtml(), TextView.BufferType.SPANNABLE)
|
||||
|
||||
AmplitudeManager.sendNavigationEvent("adventure guide screen")
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ import javax.inject.Inject
|
|||
|
||||
open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction, SnackbarActivity {
|
||||
private var launchScreen: String? = null
|
||||
private lateinit var drawerIcon: AdventureGuideDrawerArrowDrawable
|
||||
|
||||
@Inject
|
||||
internal lateinit var apiClient: ApiClient
|
||||
|
|
@ -153,7 +152,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction, Snack
|
|||
}
|
||||
|
||||
setupToolbar(binding.toolbar)
|
||||
drawerIcon = AdventureGuideDrawerArrowDrawable(supportActionBar?.themedContext)
|
||||
|
||||
avatarInHeader = AvatarWithBarsViewModel(this, binding.avatarWithBars, userRepository)
|
||||
sideAvatarView = AvatarView(this, showBackground = true, showMount = false, showPet = false)
|
||||
|
|
@ -189,7 +187,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction, Snack
|
|||
R.string.navigation_drawer_open, /* "open drawer" description */
|
||||
R.string.navigation_drawer_close /* "close drawer" description */
|
||||
) {}
|
||||
drawerToggle?.drawerArrowDrawable = drawerIcon
|
||||
// Set the drawer toggle as the DrawerListener
|
||||
drawerToggle?.let { drawerLayout.addDrawerListener(it) }
|
||||
drawerLayout.addDrawerListener(object : DrawerLayout.DrawerListener {
|
||||
|
|
@ -462,12 +459,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction, Snack
|
|||
compositeSubscription.add(userRepository.updateUser("flags.welcomed", true).subscribe({}, RxErrorHandler.handleEmptyError()))
|
||||
}
|
||||
|
||||
if (appConfigManager.enableAdventureGuide()) {
|
||||
drawerIcon.setEnabled(user?.hasCompletedOnboarding == false)
|
||||
} else {
|
||||
drawerIcon.setEnabled(false)
|
||||
}
|
||||
|
||||
try {
|
||||
val navigationController = findNavController(R.id.nav_host_fragment)
|
||||
if (binding.toolbarTitle.text?.isNotBlank() != true) {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@ import com.habitrpg.android.habitica.models.user.OwnedItem
|
|||
import com.habitrpg.android.habitica.models.user.User
|
||||
import com.habitrpg.android.habitica.ui.viewHolders.SectionViewHolder
|
||||
import com.habitrpg.android.habitica.ui.viewHolders.ShopItemViewHolder
|
||||
import io.reactivex.rxjava3.core.BackpressureStrategy
|
||||
import io.reactivex.rxjava3.core.Flowable
|
||||
import io.reactivex.rxjava3.subjects.BehaviorSubject
|
||||
|
||||
class ShopRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
|
||||
|
||||
|
|
@ -25,6 +28,9 @@ class ShopRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<an
|
|||
private var shopIdentifier: String? = null
|
||||
private var ownedItems: Map<String, OwnedItem> = HashMap()
|
||||
|
||||
private val changeClassSubject = BehaviorSubject.create<String>()
|
||||
val changeClassEvents: Flowable<String> = changeClassSubject.toFlowable(BackpressureStrategy.DROP)
|
||||
|
||||
var shopSpriteSuffix: String = ""
|
||||
set(value) {
|
||||
field = value
|
||||
|
|
@ -117,14 +123,23 @@ class ShopRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<an
|
|||
}
|
||||
if (user?.stats?.habitClass != category?.identifier && category?.identifier != "none") {
|
||||
sectionHolder.notesView?.text = context.getString(R.string.class_gear_disclaimer)
|
||||
sectionHolder.notesView?.visibility = View.VISIBLE
|
||||
if (user?.hasClass == true) {
|
||||
sectionHolder.switchClassButton?.setOnClickListener {
|
||||
changeClassSubject.onNext(selectedGearCategory)
|
||||
}
|
||||
// TODO: Enable this again when we have a nicer design
|
||||
sectionHolder.switchClassButton?.visibility = View.GONE
|
||||
} else {
|
||||
sectionHolder.switchClassButton?.visibility = View.GONE
|
||||
}
|
||||
sectionHolder.notesWrapper?.visibility = View.VISIBLE
|
||||
} else {
|
||||
sectionHolder.notesView?.visibility = View.GONE
|
||||
sectionHolder.notesWrapper?.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sectionHolder.spinnerAdapter = null
|
||||
sectionHolder.notesView?.visibility = View.GONE
|
||||
sectionHolder.notesWrapper?.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
ShopItem::class.java -> {
|
||||
|
|
|
|||
|
|
@ -189,9 +189,7 @@ class ItemDialogFragment : BaseDialogFragment<FragmentItemsBinding>(), SwipeRefr
|
|||
dismiss()
|
||||
openMarket()
|
||||
}
|
||||
|
||||
// binding?.openEmptyMarketButton?.setOnClickListener { openMarket() }
|
||||
|
||||
|
||||
this.loadItems()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import com.habitrpg.android.habitica.components.UserComponent
|
|||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.data.SocialRepository
|
||||
import com.habitrpg.android.habitica.databinding.FragmentRefreshRecyclerviewBinding
|
||||
import com.habitrpg.android.habitica.extensions.subscribeWithErrorHandler
|
||||
import com.habitrpg.android.habitica.helpers.AppConfigManager
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.shops.Shop
|
||||
|
|
@ -24,6 +25,7 @@ import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
|
|||
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewState
|
||||
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
|
||||
import com.habitrpg.android.habitica.ui.views.CurrencyViews
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import javax.inject.Inject
|
||||
|
||||
open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>() {
|
||||
|
|
@ -81,6 +83,9 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
adapter?.context = context
|
||||
binding?.recyclerView?.adapter = adapter
|
||||
binding?.recyclerView?.itemAnimator = SafeDefaultItemAnimator()
|
||||
adapter?.changeClassEvents?.subscribe {
|
||||
showClassChangeDialog(it)
|
||||
}?.let { compositeSubscription.add(it) }
|
||||
}
|
||||
|
||||
if (binding?.recyclerView?.layoutManager == null) {
|
||||
|
|
@ -147,6 +152,20 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
context?.let { FirebaseAnalytics.getInstance(it).logEvent("open_shop", bundleOf(Pair("shopIdentifier", shopIdentifier))) }
|
||||
}
|
||||
|
||||
private fun showClassChangeDialog(classIdentifier: String) {
|
||||
context?.let { context ->
|
||||
val alert = HabiticaAlertDialog(context)
|
||||
alert.setTitle(getString(R.string.class_confirmation_price, classIdentifier, 3))
|
||||
alert.addButton(R.string.choose_class, true) { _, _ ->
|
||||
userRepository.changeClass(classIdentifier).subscribeWithErrorHandler {
|
||||
|
||||
}
|
||||
}
|
||||
alert.addButton(R.string.dialog_go_back, false)
|
||||
alert.show()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
loadShopInventory()
|
||||
|
|
|
|||
|
|
@ -53,15 +53,6 @@ class GemsPurchaseFragment : BaseFragment<FragmentGemPurchaseBinding>() {
|
|||
binding?.gems42View?.setOnPurchaseClickListener { purchaseGems(binding?.gems42View) }
|
||||
binding?.gems84View?.setOnPurchaseClickListener { purchaseGems(binding?.gems84View) }
|
||||
|
||||
compositeSubscription.add(
|
||||
userRepository.getUser().subscribe(
|
||||
{
|
||||
binding?.subscriptionPromo?.visibility = if (it.isSubscribed) View.GONE else View.VISIBLE
|
||||
},
|
||||
RxErrorHandler.handleEmptyError()
|
||||
)
|
||||
)
|
||||
|
||||
binding?.giftGemsButton?.setOnClickListener { showGiftGemsDialog() }
|
||||
|
||||
if (context?.isUsingNightModeResources() == true) {
|
||||
|
|
@ -148,25 +139,4 @@ class GemsPurchaseFragment : BaseFragment<FragmentGemPurchaseBinding>() {
|
|||
alert.show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun showGiftSubscriptionDialog() {
|
||||
val chooseRecipientDialogView = this.activity?.layoutInflater?.inflate(R.layout.dialog_choose_message_recipient, null)
|
||||
|
||||
this.activity?.let { thisActivity ->
|
||||
val alert = HabiticaAlertDialog(thisActivity)
|
||||
alert.setTitle(getString(R.string.gift_title))
|
||||
alert.addButton(getString(R.string.action_continue), true) { _, _ ->
|
||||
val usernameEditText = chooseRecipientDialogView?.findViewById<View>(R.id.uuidEditText) as? EditText
|
||||
val intent = Intent(thisActivity, GiftSubscriptionActivity::class.java).apply {
|
||||
putExtra("username", usernameEditText?.text.toString())
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
alert.addCancelButton { _, _ ->
|
||||
thisActivity.dismissKeyboard()
|
||||
}
|
||||
alert.setAdditionalContentView(chooseRecipientDialogView)
|
||||
alert.show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,10 +3,7 @@ package com.habitrpg.android.habitica.ui.viewHolders
|
|||
import android.content.Context
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.AdapterView
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Spinner
|
||||
import android.widget.TextView
|
||||
import android.widget.*
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.extensions.inflate
|
||||
|
|
@ -16,6 +13,8 @@ class SectionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
|||
|
||||
private val label: TextView = itemView.findViewById(R.id.label)
|
||||
private val selectionSpinner: Spinner? = itemView.findViewById(R.id.classSelectionSpinner)
|
||||
val switchClassButton: Button? = itemView.findViewById(R.id.switch_class_button)
|
||||
internal val notesWrapper: LinearLayout? = itemView.findViewById(R.id.header_notes_wrapper)
|
||||
internal val notesView: TextView? = itemView.findViewById(R.id.headerNotesView)
|
||||
private val countPill: TextView? = itemView.findViewById(R.id.count_pill)
|
||||
var context: Context = itemView.context
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
package com.habitrpg.android.habitica.ui.views
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.*
|
||||
import androidx.appcompat.graphics.drawable.DrawerArrowDrawable
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.habitrpg.android.habitica.R
|
||||
|
||||
class AdventureGuideDrawerArrowDrawable(context: Context?) : DrawerArrowDrawable(context) {
|
||||
private val backgroundPaint: Paint = Paint()
|
||||
private val icon: Bitmap = BitmapFactory.decodeResource(context?.resources, R.drawable.star)
|
||||
private var enabled = true
|
||||
override fun draw(canvas: Canvas) {
|
||||
super.draw(canvas)
|
||||
if (!enabled) {
|
||||
return
|
||||
}
|
||||
val bounds = bounds
|
||||
val x = bounds.width() - HALF_SIZE
|
||||
val y = 10f
|
||||
canvas.drawCircle(x, y, SIZE, backgroundPaint)
|
||||
canvas.drawBitmap(icon, x - 16, y - 16, null)
|
||||
}
|
||||
|
||||
fun setEnabled(enabled: Boolean) {
|
||||
if (this.enabled != enabled) {
|
||||
this.enabled = enabled
|
||||
invalidateSelf()
|
||||
}
|
||||
}
|
||||
|
||||
fun isEnabled(): Boolean {
|
||||
return enabled
|
||||
}
|
||||
|
||||
companion object {
|
||||
// Fraction of the drawable's intrinsic size we want the badge to be.
|
||||
private const val SIZE = 24f
|
||||
private const val HALF_SIZE = SIZE / 2
|
||||
}
|
||||
|
||||
init {
|
||||
context?.let { backgroundPaint.color = ContextCompat.getColor(it, R.color.yellow_10) }
|
||||
backgroundPaint.isAntiAlias = true
|
||||
}
|
||||
}
|
||||