簡體   English   中英

如何限制文件格式的 Weblate 檢查/自動修復(ia Android,iOS)

[英]How can I limit a Weblate check/autofix on the file format (i.a. Android, iOS)

我們在移動應用 CI 環境中使用 Weblate。 到目前為止,一切都很棒。 Weblate 在 docker 環境 (v4.1) 中運行

現在我想改進工作流程。

我設法創建了自定義檢查,這些檢查驗證了 Android/iOS 占位符的使用(參見下面的示例)。 現在翻譯人員需要知道他正在使用哪個平台來使用正確的占位符並取消誤報檢查。

目前使用的占位符是%1$@用於 iOS 和%1$s用於 Android

我的問題:

  • 有沒有更好/通用的方法可以教我的翻譯人員如何編寫占位符?
  • 如何根據文件格式(或翻譯文件后綴,即xml,.strings)編寫我的支票? 所以我知道,這是一個 android/xml 文件,占位符應該是%1$s不是%1$@

樣品檢查

class iOSPlaceholderCheck(TargetCheck):
    # Used as identifier for check, should be unique
    # Has to be shorter than 50 characters
    check_id = "iOSPlaceholder"

    # Short name used to display failing check
    name = _("iOS placeholder")

    # Description for failing check
    description = _("Your translation contains an iOS placeholder")

    # Real check code
    def check_single(self, source, target, unit):
        if "%1$@" in target:
            return True
...

提前致謝

我可以看到幾種方法:

  • 如果這些格式是文件格式的通用格式, 請提交功能請求,以便將其包含在未來的 Weblate 版本中
  • 如果這僅影響少數字符串,您可以定義占位符,您可以在 Weblate 中使用通用占位符檢查並讓 Weblate 檢查並突出顯示它們
  • 要限制僅在某些組件上觸發檢查,您可以使用翻譯標志,這些可以在組件級別設置
  • 如果您想編寫自定義檢查,它可能還應該檢查源字符串中是否存在格式字符串,例如:
if "%1$@" not in source:
    return False
return "%1$@" not in target

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM