Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MBL-1960] Using PLOT localized strings #2238

Merged
merged 9 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -399,8 +399,7 @@ final class ManagePledgeViewControllerTests: TestCase {
RemoteConfigFeature.pledgeOverTime.rawValue: true
]

// TODO: Update to `all` languages when the string translations task is finished. [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)
orthogonalCombos([Language.en], [Device.phone4_7inch, Device.pad]).forEach { language, device in
orthogonalCombos(Language.allLanguages, [Device.phone4_7inch, Device.pad]).forEach { language, device in
withEnvironment(
apiService: mockService,
currentUser: user,
Expand Down Expand Up @@ -467,8 +466,7 @@ final class ManagePledgeViewControllerTests: TestCase {
RemoteConfigFeature.pledgeOverTime.rawValue: true
]

// TODO: Update to `all` languages when the string translations task is finished. [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)
orthogonalCombos([Language.en], [Device.phone4_7inch, Device.pad]).forEach { language, device in
orthogonalCombos(Language.allLanguages, [Device.phone4_7inch, Device.pad]).forEach { language, device in
withEnvironment(
apiService: mockService,
currentUser: user,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ final class PledgeOverTimePaymentScheduleViewController: UIViewController {
self.rootStackView.addArrangedSubview(self.paymentsScheduleStackView)

self.paymentsScheduleStackView.isHidden = true

// TODO: add strings translations [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)
self.titleLabel.text = "Payment Schedule"
self.titleLabel.text = Strings.Payment_schedule()

self.termsOfUseButton.setAttributedTitle(
NSAttributedString(
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,9 @@ final class PledgePaymentPlanOptionView: UIView {
self.paymentIncrementsStackView
)

// TODO: add strings translations [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)
self.termsOfUseButton.setAttributedTitle(
NSAttributedString(
string: "See our Terms of Use",
string: Strings.See_our_terms_of_use(),
attributes: [NSAttributedString.Key.font: UIFont.ksr_caption1()]
),
for: .normal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,8 @@ final class NoShippingPledgeViewController: UIViewController,

self.titleLabel.text = Strings.Checkout()

// TODO: add strings translations [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)
self.collectionPlanSectionLabel.text = "Collection plan"
self.paymentSectionLabel.text = "Payment"
self.collectionPlanSectionLabel.text = Strings.Collection_plan()
self.paymentSectionLabel.text = Strings.Payment()

self.messageBannerViewController = self.configureMessageBannerViewController(on: self)

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion Kickstarter-iOS/Locales/Base.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@
"Closes_project" = "Closes project.";
"Collaborator" = "Collaborator";
"Collapses_subcategories" = "Collapses subcategories.";
"Collection_plan" = "Collection Plan";
"Collection_plan" = "Collection plan";
"Collections" = "Collections";
"Coming_soon" = "Coming soon";
"Comment_reply_digest" = "Comment reply digest";
Expand Down Expand Up @@ -230,6 +230,7 @@
"Enter_an_amount_less_than_max_pledge" = "Enter an amount less than %{max_pledge}.";
"Environmental_commitments" = "Environmental commitments";
"Environmentally_friendly_factories" = "Environmentally friendly factories";
"Errored_payment" = "Errored payment";
"Estimated_Shipping" = "Estimated Shipping";
"Estimated_delivery" = "Estimated delivery";
"Estimated_delivery_colon" = "Estimated delivery:";
Expand Down Expand Up @@ -480,6 +481,7 @@
"Payment_method" = "Payment method";
"Payment_method_was_successfully_charged" = "Payment method was successfully charged.";
"Payment_methods" = "Payment methods";
"Payment_schedule" = "Payment schedule";
"Please_enter_a_pledge_amount_between_min_and_max" = "Please enter a pledge amount between %{min} and %{max}.";
"Please_enter_an_amount_of_amount_or_less" = "Please enter an amount of %{amount} or less.";
"Please_enter_an_amount_of_amount_or_more" = "Please enter an amount of %{amount} or more.";
Expand Down Expand Up @@ -704,6 +706,7 @@
"The_backer_canceled_their_pledge_for_this_project" = "The backer canceled their pledge for this project.";
"The_creator_canceled_this_project_so_your_payment_method_was_never_charged" = "The creator canceled this project, so your payment method was never charged.";
"The_email_associated_with_this_Facebook_account_is_already_registered" = "The email associated with this Facebook account is already registered to another Kickstarter user.";
"The_first_charge_will_occur_when_the_project_ends_successfully" = "The first charge will occur when the project ends successfully, then every 2 weeks until fully paid. When this option is selected no further edits can be made to your pledge.";
"The_live_stream_failed_to_connect" = "The live stream failed to connect";
"The_live_stream_was_interrupted" = "The live stream was interrupted";
"The_live_stream_will_start_soon" = "The live stream will start soon";
Expand Down
3 changes: 3 additions & 0 deletions Kickstarter-iOS/Locales/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@
"Enter_an_amount_less_than_max_pledge" = "Gib einen Betrag unter %{max_pledge} ein.";
"Environmental_commitments" = "Verpflichtung zum Umweltschutz";
"Environmentally_friendly_factories" = "Umweltfreundliche Fertigungsanlagen";
"Errored_payment" = "Fehlerhafte Zahlung";
"Estimated_Shipping" = "Geschätzte Versandkosten";
"Estimated_delivery" = "Voraussichtliche Lieferung:";
"Estimated_delivery_colon" = "Voraussichtliche Lieferung:";
Expand Down Expand Up @@ -480,6 +481,7 @@
"Payment_method" = "Zahlungsmethode";
"Payment_method_was_successfully_charged" = "Zahlungsmethode wurde erfolgreich belastet.";
"Payment_methods" = "Zahlungsmethoden";
"Payment_schedule" = "Zahlungsübersicht";
"Please_enter_a_pledge_amount_between_min_and_max" = "Bitte gebe einen Betrag zwischen %{min} und %{max} ein.";
"Please_enter_an_amount_of_amount_or_less" = "Bitte gib einen Finanzierungsbeitrag von %{amount} oder weniger ein.";
"Please_enter_an_amount_of_amount_or_more" = "Bitte gib einen Finanzierungsbeitrag von mindestens %{amount} ein.";
Expand Down Expand Up @@ -704,6 +706,7 @@
"The_backer_canceled_their_pledge_for_this_project" = "Der Unterstützer hat den Finanzierungsbeitrag zurückgezogen.";
"The_creator_canceled_this_project_so_your_payment_method_was_never_charged" = "Der Projektgründer hat das Projekt abgebrochen. Daher wurde deine Zahlungsmethode nicht belastet.";
"The_email_associated_with_this_Facebook_account_is_already_registered" = "Diese E-Mail-Adresse ist bereits einem anderen Kickstarter-Nutzer zugeordnet.";
"The_first_charge_will_occur_when_the_project_ends_successfully" = "Die erste Rate wird nach erfolgreichem Ende des Projekts eingezogen. Die weiteren Raten werden alle 2 Wochen eingezogen, bis der Finanzierungsbeitrag komplett bezahlt wurde. Wenn du dich für diese Option entscheidest, kannst du keine weiteren Änderungen an deinem Beitrag vornehmen.";
"The_live_stream_failed_to_connect" = "Keine Verbindungn zu Live-Stream";
"The_live_stream_was_interrupted" = "Live-Stream wurde unterbrochen";
"The_live_stream_will_start_soon" = "Live-Stream started in Kürze";
Expand Down
3 changes: 3 additions & 0 deletions Kickstarter-iOS/Locales/es.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@
"Enter_an_amount_less_than_max_pledge" = "Ingresa una cantidad inferior a %{max_pledge}.";
"Environmental_commitments" = "Compromisos medioambientales";
"Environmentally_friendly_factories" = "Fábricas ecológicas";
"Errored_payment" = "Pago fallido";
"Estimated_Shipping" = "Costo de envío estimado";
"Estimated_delivery" = "Entrega estimada:";
"Estimated_delivery_colon" = "Entrega estimada:";
Expand Down Expand Up @@ -480,6 +481,7 @@
"Payment_method" = "Método de pago";
"Payment_method_was_successfully_charged" = "Cargo efectuado a método de pago indicado.";
"Payment_methods" = "Métodos de pago";
"Payment_schedule" = "Calendario de pagos";
"Please_enter_a_pledge_amount_between_min_and_max" = "Por favor ingresa un monto de contribución entre %{min} y %{max}.";
"Please_enter_an_amount_of_amount_or_less" = "Ingresa un monto de contribución de %{amount} o menor.";
"Please_enter_an_amount_of_amount_or_more" = "Ingresa un monto de contribución de %{amount} o más.";
Expand Down Expand Up @@ -704,6 +706,7 @@
"The_backer_canceled_their_pledge_for_this_project" = "El patrocinador canceló su contribución a este proyecto.";
"The_creator_canceled_this_project_so_your_payment_method_was_never_charged" = "El creador canceló el proyecto, así que tu método de pago nunca recibió ningún cargo.";
"The_email_associated_with_this_Facebook_account_is_already_registered" = "Esta cuenta de correo electrónico ya está asociada a otro usuario de Kickstarter.";
"The_first_charge_will_occur_when_the_project_ends_successfully" = "El primer pago se hará cuando el proyecto finalice con éxito, luego cada 2 semanas hasta el monto total de la contribución. Cuando se selecciona esta opción, no se pueden realizar más modificaciones en tu contribución.";
"The_live_stream_failed_to_connect" = "No se pudo conectar la transmisión en directo";
"The_live_stream_was_interrupted" = "Transmisión en vivo fue interrumpida";
"The_live_stream_will_start_soon" = "Transmisión en vivo comienza en breve";
Expand Down
5 changes: 4 additions & 1 deletion Kickstarter-iOS/Locales/fr.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@
"Closes_project" = "Ferme le projet.";
"Collaborator" = "Collaborateur";
"Collapses_subcategories" = "Masque les sous-catégories.";
"Collection_plan" = "Calendrier des prélèvements";
"Collection_plan" = "Type de règlement";
"Collections" = "Collections";
"Coming_soon" = "Bientôt disponible";
"Comment_reply_digest" = "Résumé des réponses aux commentaires";
Expand Down Expand Up @@ -230,6 +230,7 @@
"Enter_an_amount_less_than_max_pledge" = "Veuillez saisir un montant inférieur à %{max_pledge}.";
"Environmental_commitments" = "Engagements pour l'environnement";
"Environmentally_friendly_factories" = "Usines respectueuses de l'environnement";
"Errored_payment" = "Échec de règlement";
"Estimated_Shipping" = "Frais de port estimés";
"Estimated_delivery" = "Livraison prévue :";
"Estimated_delivery_colon" = "Livraison prévue :";
Expand Down Expand Up @@ -480,6 +481,7 @@
"Payment_method" = "Moyen de paiement ";
"Payment_method_was_successfully_charged" = "Le moyen de paiement a bien été débité.";
"Payment_methods" = "Moyens de paiement ";
"Payment_schedule" = "Calendrier des règlements";
"Please_enter_a_pledge_amount_between_min_and_max" = "Veuillez saisir un engagement entre %{min} et %{max}.";
"Please_enter_an_amount_of_amount_or_less" = "Veuillez saisir un montant de %{amount} ou moins.";
"Please_enter_an_amount_of_amount_or_more" = "Veuillez saisir un montant de %{amount} ou plus.";
Expand Down Expand Up @@ -704,6 +706,7 @@
"The_backer_canceled_their_pledge_for_this_project" = "Le contributeur a annulé son engagement.";
"The_creator_canceled_this_project_so_your_payment_method_was_never_charged" = "Ce projet a été annulé par le créateur, donc votre moyen de paiement n'a pas été débité.";
"The_email_associated_with_this_Facebook_account_is_already_registered" = "L'adresse e-mail associée à ce compte Facebook a déjà été enregistrée par un autre utilisateur Kickstarter.";
"The_first_charge_will_occur_when_the_project_ends_successfully" = "Le premier prélèvement interviendra après la fin de la campagne, si l'objectif de celle-ci est atteint. Les prélèvements suivants auront lieu toutes les deux semaines, jusqu'au règlement intégral du montant dû. Si vous sélectionnez cette option, votre engagement devient non modifiable.";
"The_live_stream_failed_to_connect" = "Échec de connexion à la diffusion en direct";
"The_live_stream_was_interrupted" = "Diffusion en direct interrompue";
"The_live_stream_will_start_soon" = "La diffusion en direct va bientôt commencer";
Expand Down
3 changes: 3 additions & 0 deletions Kickstarter-iOS/Locales/ja.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@
"Enter_an_amount_less_than_max_pledge" = "%{max_pledge} 以下の額を入力してください。";
"Environmental_commitments" = "環境への取り組み";
"Environmentally_friendly_factories" = "環境に優しい工場";
"Errored_payment" = "エラーが発生したお支払い";
"Estimated_Shipping" = "推定送料";
"Estimated_delivery" = "配達予定";
"Estimated_delivery_colon" = "配達予定:";
Expand Down Expand Up @@ -480,6 +481,7 @@
"Payment_method" = "支払方法";
"Payment_method_was_successfully_charged" = "支払い方法が登録されました。";
"Payment_methods" = "お支払い方法";
"Payment_schedule" = "お支払いのスケジュール";
"Please_enter_a_pledge_amount_between_min_and_max" = "%{min} から %{max} までのプレッジ額を入力してください。";
"Please_enter_an_amount_of_amount_or_less" = "%{amount} 以下の金額を入力してくだささい。";
"Please_enter_an_amount_of_amount_or_more" = "%{amount} 以上の金額を入力してください。";
Expand Down Expand Up @@ -704,6 +706,7 @@
"The_backer_canceled_their_pledge_for_this_project" = "バッカーがこのプロジェクトのプレッジをキャンセルしました。";
"The_creator_canceled_this_project_so_your_payment_method_was_never_charged" = "クリエイターがこのプロジェクトをキャンセルしたため、お支払い方法への請求は行われませんでした。";
"The_email_associated_with_this_Facebook_account_is_already_registered" = "このFacebookのメールアドレスは他のKickstarterユーザーが使用中";
"The_first_charge_will_occur_when_the_project_ends_successfully" = "最初の請求はプロジェクトが成功に終わった時点で行われます。その後は全額が支払われるまで、2週間おきに請求が行われます。このオプションを選択すると、その後はプレッジを編集することはできなくなります。";
"The_live_stream_failed_to_connect" = "ライブ配信に接続できませんでした";
"The_live_stream_was_interrupted" = "ライブ配信が中断されました";
"The_live_stream_will_start_soon" = "ライブ配信が開始します";
Expand Down
59 changes: 55 additions & 4 deletions Library/Strings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2212,18 +2212,18 @@ contributeurs"
)
}
/**
"Collection Plan"
"Collection plan"

- **en**: "Collection Plan"
- **en**: "Collection plan"
- **de**: "Zahlungsplan"
- **es**: "Plan de pagos"
- **fr**: "Calendrier des prélèvements"
- **fr**: "Type de règlement"
- **ja**: "集金プラン"
*/
public static func Collection_plan() -> String {
return localizedString(
key: "Collection_plan",
defaultValue: "Collection Plan",
defaultValue: "Collection plan",
count: nil,
substitutions: [:]
)
Expand Down Expand Up @@ -3838,6 +3838,23 @@ Cliquez pour réessayer."
substitutions: [:]
)
}
/**
"Errored payment"

- **en**: "Errored payment"
- **de**: "Fehlerhafte Zahlung"
- **es**: "Pago fallido"
- **fr**: "Échec de règlement"
- **ja**: "エラーが発生したお支払い"
*/
public static func Errored_payment() -> String {
return localizedString(
key: "Errored_payment",
defaultValue: "Errored payment",
count: nil,
substitutions: [:]
)
}
/**
"Estimated Shipping"

Expand Down Expand Up @@ -7958,6 +7975,23 @@ n'ont rien soutenu."
substitutions: [:]
)
}
/**
"Payment schedule"

- **en**: "Payment schedule"
- **de**: "Zahlungsübersicht"
- **es**: "Calendario de pagos"
- **fr**: "Calendrier des règlements"
- **ja**: "お支払いのスケジュール"
*/
public static func Payment_schedule() -> String {
return localizedString(
key: "Payment_schedule",
defaultValue: "Payment schedule",
count: nil,
substitutions: [:]
)
}
/**
"Please enter a pledge amount between %{min} and %{max}."

Expand Down Expand Up @@ -11499,6 +11533,23 @@ catch your eye?"
substitutions: [:]
)
}
/**
"The first charge will occur when the project ends successfully, then every 2 weeks until fully paid. When this option is selected no further edits can be made to your pledge."

- **en**: "The first charge will occur when the project ends successfully, then every 2 weeks until fully paid. When this option is selected no further edits can be made to your pledge."
- **de**: "Die erste Rate wird nach erfolgreichem Ende des Projekts eingezogen. Die weiteren Raten werden alle 2 Wochen eingezogen, bis der Finanzierungsbeitrag komplett bezahlt wurde. Wenn du dich für diese Option entscheidest, kannst du keine weiteren Änderungen an deinem Beitrag vornehmen."
- **es**: "El primer pago se hará cuando el proyecto finalice con éxito, luego cada 2 semanas hasta el monto total de la contribución. Cuando se selecciona esta opción, no se pueden realizar más modificaciones en tu contribución."
- **fr**: "Le premier prélèvement interviendra après la fin de la campagne, si l'objectif de celle-ci est atteint. Les prélèvements suivants auront lieu toutes les deux semaines, jusqu'au règlement intégral du montant dû. Si vous sélectionnez cette option, votre engagement devient non modifiable."
- **ja**: "最初の請求はプロジェクトが成功に終わった時点で行われます。その後は全額が支払われるまで、2週間おきに請求が行われます。このオプションを選択すると、その後はプレッジを編集することはできなくなります。"
*/
public static func The_first_charge_will_occur_when_the_project_ends_successfully() -> String {
return localizedString(
key: "The_first_charge_will_occur_when_the_project_ends_successfully",
defaultValue: "The first charge will occur when the project ends successfully, then every 2 weeks until fully paid. When this option is selected no further edits can be made to your pledge.",
count: nil,
substitutions: [:]
)
}
/**
"The live stream failed to connect"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@ import KsApi
import UIKit

extension PledgePaymentIncrementState {
// TODO: Add string translations [MBL-1860](https://kickstarter.atlassian.net/browse/MBL-1860)

/// Returns the textual description for each `PledgePaymentIncrementState`.
public var description: String {
switch self {
case .collected: return Strings.project_view_pledge_status_collected()
case .unattempted: return Strings.Scheduled()
case .errored: return "Errored payment"
case .errored: return Strings.Errored_payment()
}
}

Expand Down
Loading