ASC订阅批量本地化Skill asc-subscription-localization

这个技能使用 Apple Store Connect 命令行工具(ASC)来批量创建或更新订阅、订阅组和应用内购买在所有 App Store 语言环境下的显示名称和描述。它旨在消除在 App Store Connect 中逐个点击每种语言手动设置显示名称的繁琐过程,提高本地化效率,适用于iOS开发、移动应用发布、自动化本地化和订阅管理。关键词包括:批量本地化、App Store Connect、订阅管理、应用内购买、ASC工具、自动化、iOS开发、本地化效率。

移动开发 0 次安装 0 次浏览 更新于 3/13/2026

name: asc-subscription-localization 描述: 使用asc批量本地化订阅和应用内购买在所有App Store语言环境下的显示名称。当您希望为每种语言填充订阅/IAP名称而无需手动点击App Store Connect时使用。

ASC 订阅本地化

使用此技能批量创建或更新订阅、订阅组和应用内购买在所有App Store Connect语言环境下的显示名称(和描述)。这消除了在App Store Connect中逐个点击每种语言手动设置相同显示名称的繁琐过程。

前置条件

  • 已配置认证(asc auth loginASC_* 环境变量)。
  • 知道您的应用ID(ASC_APP_ID--app)。
  • 订阅组和订阅已存在。

支持的App Store语言环境

以下是App Store Connect支持订阅和IAP本地化的语言环境:

ar-SA, ca, cs, da, de-DE, el, en-AU, en-CA, en-GB, en-US,
es-ES, es-MX, fi, fr-CA, fr-FR, he, hi, hr, hu, id, it,
ja, ko, ms, nl-NL, no, pl, pt-BR, pt-PT, ro, ru, sk,
sv, th, tr, uk, vi, zh-Hans, zh-Hant

工作流程:批量本地化订阅

1. 解析ID

# 查找订阅组
asc subscriptions groups list --app "APP_ID" --output table

# 查找组内的订阅
asc subscriptions list --group "GROUP_ID" --output table

2. 检查现有本地化

asc subscriptions localizations list --subscription-id "SUB_ID" --paginate --output table

这显示哪些语言环境已设置名称。仅创建缺失语言环境的本地化。

3. 为所有缺失语言环境创建本地化

对于每个尚未有本地化的语言环境,运行:

asc subscriptions localizations create \
  --subscription-id "SUB_ID" \
  --locale "LOCALE" \
  --name "显示名称"

例如,为所有语言环境设置“Monthly Pro”:

# 每个语言环境一个命令(跳过已存在的)
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ar-SA" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ca" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "cs" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "da" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "de-DE" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "el" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "en-AU" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "en-CA" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "en-GB" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "es-ES" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "es-MX" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "fi" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "fr-CA" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "fr-FR" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "he" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "hi" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "hr" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "hu" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "id" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "it" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ja" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ko" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ms" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "nl-NL" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "no" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "pl" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "pt-BR" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "pt-PT" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ro" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "ru" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "sk" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "sv" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "th" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "tr" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "uk" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "vi" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "zh-Hans" --name "Monthly Pro"
asc subscriptions localizations create --subscription-id "SUB_ID" --locale "zh-Hant" --name "Monthly Pro"

4. 验证

asc subscriptions localizations list --subscription-id "SUB_ID" --paginate --output table

工作流程:批量本地化订阅组

订阅组也有自己的每种语言环境的显示名称(这是用户在订阅管理表中看到的“组名称”)。

1. 检查现有组本地化

asc subscriptions groups localizations list --group-id "GROUP_ID" --paginate --output table

2. 为缺失语言环境创建

asc subscriptions groups localizations create \
  --group-id "GROUP_ID" \
  --locale "LOCALE" \
  --name "组显示名称"

可选:为组设置自定义应用名称:

asc subscriptions groups localizations create \
  --group-id "GROUP_ID" \
  --locale "LOCALE" \
  --name "组显示名称" \
  --custom-app-name "我的应用"

3. 验证

asc subscriptions groups localizations list --group-id "GROUP_ID" --paginate --output table

工作流程:批量本地化应用内购买

IAP有自己的本地化命令,模式相同。

1. 解析IAP ID

asc iap list --app "APP_ID" --output table

2. 检查现有本地化

asc iap localizations list --iap-id "IAP_ID" --paginate --output table

3. 为缺失语言环境创建

asc iap localizations create \
  --iap-id "IAP_ID" \
  --locale "LOCALE" \
  --name "显示名称"

可选描述:

asc iap localizations create \
  --iap-id "IAP_ID" \
  --locale "LOCALE" \
  --name "解锁所有功能" \
  --description "一次性购买以解锁所有高级功能"

4. 验证

asc iap localizations list --iap-id "IAP_ID" --paginate --output table

更新现有本地化

要更改现有本地化的显示名称:

订阅

asc subscriptions localizations update --id "LOC_ID" --name "新名称"

订阅组

asc subscriptions groups localizations update --id "LOC_ID" --name "新组名称"

应用内购买

asc iap localizations update --id "LOC_ID" --name "新名称"

要批量更新,首先列出现有本地化,提取ID,然后更新每个。

批量本地化应用中的所有订阅

对于包含多个订阅组和订阅的完整应用:

# 1. 列出所有组
asc subscriptions groups list --app "APP_ID" --paginate

# 2. 为每个组本地化组本身
#    (重复上述组本地化工作流程)

# 3. 为每个组列出订阅
asc subscriptions list --group "GROUP_ID" --paginate

# 4. 为每个订阅本地化它
#    (重复上述订阅本地化工作流程)

代理行为

  • 始终首先列出现有本地化,以避免重复创建错误。
  • 跳过已有本地化的语言环境;仅创建缺失的。
  • 当用户提供单个显示名称时,将其用于所有语言环境(相同名称各处使用)。
  • 当用户提供每种语言环境的翻译名称时,为每种使用语言特定名称。
  • 如果提供描述,请在创建时传递 --description;否则省略。
  • 使用 --output table 进行验证步骤,以便用户可视化确认。
  • 使用默认JSON输出进行中间自动化步骤。
  • 批量创建后,始终运行列表命令以验证完整性。
  • 对于具有许多订阅的应用,按组顺序处理,以保持输出可读。
  • 如果对某个语言环境的创建调用失败,记录语言环境和错误,然后继续剩余语言环境。批量完成后,报告所有失败,以便用户处理。

注意事项

  • 订阅显示名称是用户在订阅管理表和在购买对话框中看到的内容。
  • 为已有本地化的语言环境创建本地化将失败;始终先检查。
  • 没有批量API;每种语言环境需要单独的创建调用。
  • 在列表命令上使用 --paginate 以确保返回所有现有本地化。
  • 如果您只有应用名称而非ID,请使用 asc-id-resolver 技能。