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

Paywalls: Improve Chinese localization #3489

Conversation

aboedo
Copy link
Member

@aboedo aboedo commented Dec 4, 2023

Improvements to Chinese Traditional and Chinese Simplified localizations based on user feedback.

@aboedo aboedo requested review from tonycosentini and a team December 4, 2023 20:19
@aboedo aboedo self-assigned this Dec 4, 2023
@francisfeng
Copy link
Contributor

francisfeng commented Dec 4, 2023

Hi Andy. This is Francis Feng.

In the localization strings it looked like "个" would only show up for subscriptions that were 2, 3 or 6 months long. Is that not the case for you?

No, my app only has a monthly plan (no plans for 2, 3, 6 months). But the paywall shows up as “¥15/个月”.

I also updated some strings here #3490.

Copy link
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know chinese 😅 but once we've confirmed the changes :shipit:

### Motivation
Resolves #3489

### Description
Another issue I found after looking at the
[Localizable.strings](https://github.com/RevenueCat/purchases-ios/pull/3489/files):
You can’t directly translate "%d%% off” as "%d%%折” in Chinese. In
Chinese, if one item is 20% off, we say it’s “8折” (8 comes from
(1-20%)*10).

So if you insist on this translation you will need to change the related
code. I would suggest you to simply translate "%d%% off" as
"优惠%d%%"(Simplified Chinese) and "優惠%d%%" (Traditional Chinese), which
aligns with the word ”off”.

Last issue regarding formatting:
"Default_offer_details_with_intro_offer" = "开始 {{ sub_offer_duration }}
试用,然后 {{total_price_and_per_month }}。"; I don’t think we need spaces
around “{{ sub_offer_duration }}” and ”{{total_price_and_per_month }}”.
@aboedo aboedo enabled auto-merge (squash) December 5, 2023 21:48
@aboedo
Copy link
Member Author

aboedo commented Dec 5, 2023

@francisfeng thanks so much again for opening up the PR and bringing this up in the first place!

@aboedo
Copy link
Member Author

aboedo commented Dec 5, 2023

I'm not sure how we're getting the in monthly, but I'll try to dig into it so that we can avoid showing it

@francisfeng
Copy link
Contributor

francisfeng commented Dec 5, 2023

I'm not sure how we're getting the in monthly, but I'll try to dig into it so that we can avoid showing it

It comes from the variable {{ price_per_period }}, which is not localized in the package, as I didn’t find the localized string.

{{ price_per_period }} was somehow replaced with ¥15.00/个月.

Copy link
Contributor

@NachoSoto NachoSoto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌🏻

"Continue" = "繼續";
"Default_offer_details_with_intro_offer" = "開始 {{ sub_offer_duration }} 試用,然後 {{total_price_and_per_month }}。";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouch

RevenueCatUI/Resources/zh_HK.lproj/Localizable.strings Outdated Show resolved Hide resolved
RevenueCatUI/Resources/zh-Hans.lproj/Localizable.strings Outdated Show resolved Hide resolved
RevenueCatUI/Resources/zh-Hans.lproj/Localizable.strings Outdated Show resolved Hide resolved
RevenueCatUI/Resources/zh_HK.lproj/Localizable.strings Outdated Show resolved Hide resolved
RevenueCatUI/Resources/zh_TW.lproj/Localizable.strings Outdated Show resolved Hide resolved
RevenueCatUI/Resources/zh_TW.lproj/Localizable.strings Outdated Show resolved Hide resolved
aboedo and others added 6 commits December 6, 2023 12:18
Co-authored-by: Greenie <greenie.cheng@gmail.com>
Co-authored-by: Greenie <greenie.cheng@gmail.com>
Co-authored-by: Greenie <greenie.cheng@gmail.com>
Co-authored-by: Greenie <greenie.cheng@gmail.com>
Co-authored-by: Greenie <greenie.cheng@gmail.com>
Co-authored-by: Greenie <greenie.cheng@gmail.com>
@aboedo
Copy link
Member Author

aboedo commented Dec 6, 2023

@greenietea thanks for the suggestions!! 🙌

@aboedo aboedo disabled auto-merge December 6, 2023 17:12
Copy link

codecov bot commented Dec 6, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (d72ea07) 86.06% compared to head (9e197da) 86.06%.
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3489      +/-   ##
==========================================
- Coverage   86.06%   86.06%   -0.01%     
==========================================
  Files         237      237              
  Lines       17211    17211              
==========================================
- Hits        14813    14812       -1     
- Misses       2398     2399       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@aboedo aboedo merged commit 9fa27bd into main Dec 6, 2023
22 checks passed
@aboedo aboedo deleted the andy/deng-621-incorrect-translations-for-paywall-chinese-localization branch December 6, 2023 18:04
NachoSoto pushed a commit that referenced this pull request Dec 12, 2023
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: improve image caching (#3498) via NachoSoto (@NachoSoto)
* `Paywalls`: change style of CTA button to be consistent with other
platforms (#3507) via NachoSoto (@NachoSoto)
* `Paywalls`: open footer links on Safari on Catalyst (#3508) via
NachoSoto (@NachoSoto)
* `Paywalls`: fix compilation on Xcode < 14.3 (#3513) via NachoSoto
(@NachoSoto)
* Fix typo in zh-Hans localization of RevenueCatUI (#3512) via Francis
Feng (@francisfeng)
* `Paywalls`: fix PaywallViewControllerDelegate access from Objective-C
(#3510) via noncenz (@noncenz)
* `Paywalls`: open Terms and Privacy Policy links in-app (#3475) via
Andy Boedo (@aboedo)
* `Paywalls`: fix empty description when using `custom` package type and
`{{ sub_period }}` (#3495) via Andy Boedo (@aboedo)
* `Paywalls`: use `HEIC` images (#3496) via NachoSoto (@NachoSoto)
* Paywalls: disable the close button when an action is in progress
(#3474) via Andy Boedo (@aboedo)
* `Paywalls`: adjusted German translations (#3476) via Tensei (@tensei)
* Paywalls: Improve Chinese localization (#3489) via Andy Boedo
(@aboedo)
### Other Changes
* `CircleCI`: add git credentials to snapshot generation (#3506) via
NachoSoto (@NachoSoto)
* `StoreProduct`: improve `priceFormatter` documentation (#3500) via
NachoSoto (@NachoSoto)
* `Paywalls`: fix tests (#3499) via NachoSoto (@NachoSoto)
* `Optimization`: changed `first` to `first(where:)` (#3467) via
NachoSoto (@NachoSoto)
aboedo added a commit to RevenueCat/purchases-android that referenced this pull request Dec 21, 2023
Android equivalent to
RevenueCat/purchases-ios#3489

I noticed that we don't have a separate file for Chinese Simplified on
Android? Is this intentional?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants