Skip to content

Conversation

@claremacrae
Copy link
Collaborator

Types of changes

Changes visible to users:

Internal changes:

  • Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Description

This is the first of a series of PRs to translate much of the Tasks plugin in to Chinese, and enable future support of other languages.

Chinese translation

It adds almost-complete Chinese translation of the following areas of the Tasks plugin:

  • User Settings tab
  • The Edit Status modal (launched from Settings tab)
  • 'Review and check your Statuses' report (launched from Settings tab)

Where possible, I copied the Chinese translations in from @0011000000110010's i18n plugin.

Specifically from this version of its translations for Tasks 7.14.0:

https://github.com/0011000000110010/obsidian-i18n/blob/9ef339a2475c2096a88acf87307363d300a25247/translation/dict/obsidian-tasks-plugin/zh-cn/7.14.0.json

The following Chinese translation strings need to be added - I was not confident about extracting them from the above:

image

Later work:

  • Write the "Contributing" documentation for/on:
    • How to add support for new languages
    • Tasks developers, on how to make new features translatable
    • Translators, on how to add translations
  • Connect to the Crowdin translation service, or similar, to streamline the experience for translators.
  • Translate the rest of Tasks code:
    • Create and Edit Tasks modal
    • Status context menu
    • Postpone context menu
    • Auto-suggest
  • Unsure about whether to translate:
    • Query language
    • Date parsing
    • Recurrence rule parsing

Motivation and Context

How has this been tested?

  • Comparing screenshots of the original English version, and the new code - both in English and in Chinese

Screenshots (if appropriate)

Settings

image

image

image

image

'Review and check your Statuses' report

image

Edit Status

image

Checklist

Terms

This reverts commit 4f013e01be447b27f26da142f2065f0e8feaf466.
…DisplayName()

This will prevent the plugin crashing during starting when
TASK_FORMATS is initialised before translation is set up.

But it also has the advantage that if the language is changed during a program
session, the latest translation would be displayed.
(I've no idea if changing language in an Obsidian session is even possible, though...)
@claremacrae claremacrae added the scope: internationalisation Translations - Making the plugin work well for non-English-language users - also known as i18n label Jan 25, 2025
@sonarqubecloud
Copy link

@claremacrae claremacrae merged commit 3bf02c0 into main Jan 25, 2025
4 checks passed
@claremacrae claremacrae deleted the feat-translate-settings-to-chinese branch January 25, 2025 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: internationalisation Translations - Making the plugin work well for non-English-language users - also known as i18n

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants