i18n syntax setup, Welcome, Prompts

Oops maybe I should make smaller commits. Converted file strings to multilingual format, translations for Welcome and Prompts sections.
This commit is contained in:
Eric Bell 2024-11-11 16:02:21 -05:00
parent eb5fe6fef1
commit bae33f548d

View file

@ -1,6 +1,20 @@
# Copyright © 2012-2023 jrnl contributors # Copyright © 2012-2023 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html # License: https://www.gnu.org/licenses/gpl-3.0.html
# format example, delete later
# OneLineMessage = T(
# en="something",
# ja="何か",
# )
# MultiLineMessage = T(
# en="""
# something
# """,
# ja="""
# 何か
# """,
# )
from enum import Enum from enum import Enum
@ -9,7 +23,8 @@ class MsgText(Enum):
return self.value return self.value
# -- Welcome --- # # -- Welcome --- #
WelcomeToJrnl = """ WelcomeToJrnl = T(
en="""
Welcome to jrnl {version}! Welcome to jrnl {version}!
It looks like you've been using an older version of jrnl until now. That's It looks like you've been using an older version of jrnl until now. That's
@ -24,30 +39,79 @@ class MsgText(Enum):
Please note that jrnl 1.x is NOT forward compatible with this version of jrnl. Please note that jrnl 1.x is NOT forward compatible with this version of jrnl.
If you choose to proceed, you will not be able to use your journals with If you choose to proceed, you will not be able to use your journals with
older versions of jrnl anymore. older versions of jrnl anymore.
""" """,
ja="""
jrnl {version} へようこそ!
AllDoneUpgrade = "We're all done here and you can start enjoying jrnl 2" これまでは古いバージョンの jrnl を使用していたようです問題ありませんjrnl はこれから
設定ファイルとジャーナル ファイルをアップグレードしますその後はjrnl 2 に付属する
すばらしい新機能をすべてお楽しめます:
InstallComplete = """ - ジャーナルを複数のファイルに保存するためのサポート
- 大きなジャーナルの読み取りと書き込みの高速化
- jrnl のインストールを大幅に容易にする新しい暗号化バックエンド
- 多数のバグ修正
jrnl 1.x このバージョンの jrnl と前方互換性がありませんのでご注意ください
続行する場合は古いバージョンの jrnl ではジャーナルを使用できなくなります
""",
)
AllDoneUpgrade = T(
en="We're all done here and you can start enjoying jrnl 2",
ja="これですべて完了です、jrnl 2 をお楽しみください",
)
InstallComplete = T(
en="""
jrnl configuration created at {config_path} jrnl configuration created at {config_path}
For advanced features, read the docs at https://jrnl.sh For advanced features, read the docs at https://jrnl.sh
""" """,
ja="""
jrnl 構成がここに作成されました {config_path}
高度な機能についてはhttps://jrnl.sh のドキュメントをお読みください
""",
)
# --- Prompts --- # # --- Prompts --- #
InstallJournalPathQuestion = """ InstallJournalPathQuestion = T(
en="""
Path to your journal file (leave blank for {default_journal_path}): Path to your journal file (leave blank for {default_journal_path}):
""" """,
DeleteEntryQuestion = "Delete entry '{entry_title}'?" ja="""
ChangeTimeEntryQuestion = "Change time for '{entry_title}'?" ジャーナル ファイルへのパス ({default_journal_path} で良ければ空白のままにしてください):
EncryptJournalQuestion = """ """,
)
DeleteEntryQuestion = T(
en="Delete entry '{entry_title}'?",
ja="エントリ '{entry_title}' を削除しますか?",
)
ChangeTimeEntryQuestion = T(
en="Change time for '{entry_title}'?",
ja="'{entry_title}' の時間を変更しますか?",
)
EncryptJournalQuestion = T(
en="""
Do you want to encrypt your journal? (You can always change this later) Do you want to encrypt your journal? (You can always change this later)
""" """,
UseColorsQuestion = """ ja="""
ジャーナルを暗号化しますかこれは後でいつでも変更できます
""",
)
UseColorsQuestion = T(
en="""
Do you want jrnl to use colors to display entries? (You can always change this later) Do you want jrnl to use colors to display entries? (You can always change this later)
""" # noqa: E501 - the line is still under 88 when dedented """, # noqa: E501 - the line is still under 88 when dedented
ja="""
jrnl でエントリの表示に色を使用しますかこれは後でいつでも変更できます
""",
)
YesOrNoPromptDefaultYes = "[Y/n]" YesOrNoPromptDefaultYes = "[Y/n]"
YesOrNoPromptDefaultNo = "[y/N]" YesOrNoPromptDefaultNo = "[y/N]"
ContinueUpgrade = "Continue upgrading jrnl?" ContinueUpgrade = T(
en="Continue upgrading jrnl?",
ja="jrnl のアップグレードを続行しますか?",
)
# these should be lowercase, if possible in language # these should be lowercase, if possible in language
# "lowercase" means whatever `.lower()` returns # "lowercase" means whatever `.lower()` returns
@ -55,30 +119,60 @@ class MsgText(Enum):
OneCharacterNo = "n" OneCharacterNo = "n"
# --- Exceptions ---# # --- Exceptions ---#
Error = "Error" Error = T(
UncaughtException = """ en="Error",
ja="エラー",
)
UncaughtException = T(
en="""
{name} {name}
{exception} {exception}
This is probably a bug. Please file an issue at: This is probably a bug. Please file an issue at:
https://github.com/jrnl-org/jrnl/issues/new/choose https://github.com/jrnl-org/jrnl/issues/new/choose
""" """,
ja="""
{name}
{exception}
ConfigDirectoryIsFile = """ これはおそらくバグです問題を報告してください:
https://github.com/jrnl-org/jrnl/issues/new/choose
""",
)
ConfigDirectoryIsFile = T(
en="""
Problem with config file! Problem with config file!
The path to your jrnl configuration directory is a file, not a directory: The path to your jrnl configuration directory is a file, not a directory:
{config_directory_path} {config_directory_path}
Removing this file will allow jrnl to save its configuration. Removing this file will allow jrnl to save its configuration.
""" """,
ja="""
構成ファイルに問題があります!
jrnl 構成ディレクトリへのパスはディレクトリではなくファイルです:
CantParseConfigFile = """ {config_directory_path}
このファイルを削除するとjrnl が構成を保存できるようになります
""",
)
CantParseConfigFile = T(
en="""
Unable to parse config file at: Unable to parse config file at:
{config_path} {config_path}
""" """,
ja="""
ここにある構成ファイルを解析できません:
{config_path}
""",
)
LineWrapTooSmallForDateFormat = """ LineWrapTooSmallForDateFormat = T(
en="""
The provided linewrap value of {config_linewrap} is too small by The provided linewrap value of {config_linewrap} is too small by
{columns} columns to display the timestamps in the configured time {columns} columns to display the timestamps in the configured time
format for journal {journal}. format for journal {journal}.
@ -86,72 +180,157 @@ class MsgText(Enum):
You can avoid this error by specifying a linewrap value that is larger You can avoid this error by specifying a linewrap value that is larger
by at least {columns} in the configuration file or by using by at least {columns} in the configuration file or by using
--config-override at the command line --config-override at the command line
""" """,
ja="""
CannotEncryptJournalType = """ """,
)
CannotEncryptJournalType = T(
en="""
The journal {journal_name} can't be encrypted because it is a The journal {journal_name} can't be encrypted because it is a
{journal_type} journal. {journal_type} journal.
To encrypt it, create a new journal referencing a file, export To encrypt it, create a new journal referencing a file, export
this journal to the new journal, then encrypt the new journal. this journal to the new journal, then encrypt the new journal.
""" """,
ja="""
""",
)
ConfigEncryptedForUnencryptableJournalType = """ ConfigEncryptedForUnencryptableJournalType = T(
en="""
The config for journal "{journal_name}" has 'encrypt' set to true, but this type The config for journal "{journal_name}" has 'encrypt' set to true, but this type
of journal can't be encrypted. Please fix your config file. of journal can't be encrypted. Please fix your config file.
""" """,
ja="""
""",
)
DecryptionFailedGeneric = "The decryption of journal data failed." DecryptionFailedGeneric = T(
en="The decryption of journal data failed.",
ja="",
)
KeyboardInterruptMsg = "Aborted by user" KeyboardInterruptMsg = T(
en="Aborted by user",
ja="",
)
CantReadTemplate = """ CantReadTemplate = T(
en="""
Unable to find a template file {template_path}. Unable to find a template file {template_path}.
The following paths were checked: The following paths were checked:
* {jrnl_template_dir}{template_path} * {jrnl_template_dir}{template_path}
* {actual_template_path} * {actual_template_path}
""" """,
ja="""
""",
)
NoNamedJournal = "No '{journal_name}' journal configured\n{journals}" NoNamedJournal = T(
en="No '{journal_name}' journal configured\n{journals}",
ja="",
)
DoesNotExist = "{name} does not exist" DoesNotExist = T(
en="{name} does not exist",
ja="",
)
# --- Journal status ---# # --- Journal status ---#
JournalNotSaved = "Entry NOT saved to journal" JournalNotSaved = T(
JournalEntryAdded = "Entry added to {journal_name} journal" en="Entry NOT saved to journal",
ja="",
)
JournalEntryAdded = T(
en="Entry added to {journal_name} journal",
ja="",
)
JournalCountAddedSingular = "{num} entry added" JournalCountAddedSingular = T(
JournalCountModifiedSingular = "{num} entry modified" en="{num} entry added",
JournalCountDeletedSingular = "{num} entry deleted" ja="",
)
JournalCountModifiedSingular = T(
en="{num} entry modified",
ja="",
)
JournalCountDeletedSingular = T(
en="{num} entry deleted",
ja="",
)
JournalCountAddedPlural = "{num} entries added" JournalCountAddedPlural = T(
JournalCountModifiedPlural = "{num} entries modified" en="{num} entries added",
JournalCountDeletedPlural = "{num} entries deleted" ja="",
)
JournalCountModifiedPlural = T(
en="{num} entries modified",
ja="",
)
JournalCountDeletedPlural = T(
en="{num} entries deleted",
ja="",
)
JournalCreated = "Journal '{journal_name}' created at {filename}" JournalCreated = T(
DirectoryCreated = "Directory {directory_name} created" en="Journal '{journal_name}' created at {filename}",
JournalEncrypted = "Journal will be encrypted" ja="",
JournalEncryptedTo = "Journal encrypted to {path}" )
JournalDecryptedTo = "Journal decrypted to {path}" DirectoryCreated = T(
BackupCreated = "Created a backup at {filename}" en="Directory {directory_name} created",
ja="",
)
JournalEncrypted = T(
en="Journal will be encrypted",
ja="",
)
JournalEncryptedTo = T(
en="Journal encrypted to {path}",
ja="",
)
JournalDecryptedTo = T(
en="Journal decrypted to {path}",
ja="",
)
BackupCreated = T(
en="Created a backup at {filename}",
ja="",
)
# --- Editor ---# # --- Editor ---#
WritingEntryStart = """ WritingEntryStart = T(
en="""
Writing Entry Writing Entry
To finish writing, press {how_to_quit} on a blank line. To finish writing, press {how_to_quit} on a blank line.
""" """,
HowToQuitWindows = "Ctrl+z and then Enter" ja="""
HowToQuitLinux = "Ctrl+d" """,
)
HowToQuitWindows = T(
en="Ctrl+z and then Enter",
ja="",
)
HowToQuitLinux = T(
en="Ctrl+d",
ja="",
)
EditorMisconfigured = """ EditorMisconfigured = T(
en="""
No such file or directory: '{editor_key}' No such file or directory: '{editor_key}'
Please check the 'editor' key in your config file for errors: Please check the 'editor' key in your config file for errors:
editor: '{editor_key}' editor: '{editor_key}'
""" """,
ja="""
""",
)
EditorNotConfigured = """ EditorNotConfigured = T(
en="""
There is no editor configured There is no editor configured
To use the --edit option, please specify an editor your config file: To use the --edit option, please specify an editor your config file:
@ -159,128 +338,250 @@ class MsgText(Enum):
For examples of how to configure an external editor, see: For examples of how to configure an external editor, see:
https://jrnl.sh/en/stable/external-editors/ https://jrnl.sh/en/stable/external-editors/
""" """,
ja="""
""",
)
NoEditsReceivedJournalNotDeleted = """ NoEditsReceivedJournalNotDeleted = T(
en="""
No text received from editor. Were you trying to delete all the entries? No text received from editor. Were you trying to delete all the entries?
This seems a bit drastic, so the operation was cancelled. This seems a bit drastic, so the operation was cancelled.
To delete all entries, use the --delete option. To delete all entries, use the --delete option.
""" """,
ja="""
""",
)
NoEditsReceived = "No edits to save, because nothing was changed" NoEditsReceived = T(
en="No edits to save, because nothing was changed",
ja="",
)
NoTextReceived = """ NoTextReceived = T(
en="""
No entry to save, because no text was received No entry to save, because no text was received
""" """,
NoChangesToTemplate = """ ja="""
""",
)
NoChangesToTemplate = T(
en="""
No entry to save, because the template was not changed No entry to save, because the template was not changed
""" """,
ja="""
""",
)
# --- Upgrade --- # # --- Upgrade --- #
JournalFailedUpgrade = """ JournalFailedUpgrade = T(
en="""
The following journal{s} failed to upgrade: The following journal{s} failed to upgrade:
{failed_journals} {failed_journals}
Please tell us about this problem at the following URL: Please tell us about this problem at the following URL:
https://github.com/jrnl-org/jrnl/issues/new?title=JournalFailedUpgrade https://github.com/jrnl-org/jrnl/issues/new?title=JournalFailedUpgrade
""" """,
ja="""
""",
)
UpgradeAborted = "jrnl was NOT upgraded" UpgradeAborted = T(
en="jrnl was NOT upgraded",
ja="",
)
AbortingUpgrade = "Aborting upgrade..." AbortingUpgrade = T(
en="Aborting upgrade...",
ja="",
)
ImportAborted = "Entries were NOT imported" ImportAborted = T(
en="Entries were NOT imported",
ja="",
)
JournalsToUpgrade = """ JournalsToUpgrade = T(
en="""
The following journals will be upgraded to jrnl {version}: The following journals will be upgraded to jrnl {version}:
""" """,
ja="""
""",
)
JournalsToIgnore = """ JournalsToIgnore = T(
en="""
The following journals will not be touched: The following journals will not be touched:
""" """,
ja="""
""",
)
UpgradingJournal = """ UpgradingJournal = T(
en="""
Upgrading '{journal_name}' journal stored in {path}... Upgrading '{journal_name}' journal stored in {path}...
""" """,
ja="""
""",
)
UpgradingConfig = "Upgrading config..." UpgradingConfig = T(
en="Upgrading config...",
ja="",
)
PaddedJournalName = "{journal_name:{pad}} -> {path}" PaddedJournalName = "{journal_name:{pad}} -> {path}"
# -- Config --- # # -- Config --- #
AltConfigNotFound = """ AltConfigNotFound = T(
en="""
Alternate configuration file not found at the given path: Alternate configuration file not found at the given path:
{config_file} {config_file}
""" """,
ja="""
""",
)
ConfigUpdated = """ ConfigUpdated = T(
en="""
Configuration updated to newest version at {config_path} Configuration updated to newest version at {config_path}
""" """,
ja="""
""",
)
ConfigDoubleKeys = """ ConfigDoubleKeys = T(
en="""
There is at least one duplicate key in your configuration file. There is at least one duplicate key in your configuration file.
Details: Details:
{error_message} {error_message}
""" """,
ja="""
""",
)
# --- Password --- # # --- Password --- #
Password = "Password:" Password = T(
PasswordFirstEntry = "Enter password for journal '{journal_name}': " en="Password:",
PasswordConfirmEntry = "Enter password again: " ja="",
PasswordMaxTriesExceeded = "Too many attempts with wrong password" )
PasswordCanNotBeEmpty = "Password can't be empty!" PasswordFirstEntry = T(
PasswordDidNotMatch = "Passwords did not match, please try again" en="Enter password for journal '{journal_name}': ",
WrongPasswordTryAgain = "Wrong password, try again" ja="",
PasswordStoreInKeychain = "Do you want to store the password in your keychain?" )
PasswordConfirmEntry = T(
en="Enter password again: ",
ja="",
)
PasswordMaxTriesExceeded = T(
en="Too many attempts with wrong password",
ja="",
)
PasswordCanNotBeEmpty = T(
en="Password can't be empty!",
ja="",
)
PasswordDidNotMatch = T(
en="Passwords did not match, please try again",
ja="",
)
WrongPasswordTryAgain = T(
en="Wrong password, try again",
ja="",
)
PasswordStoreInKeychain = T(
en="Do you want to store the password in your keychain?",
ja="",
)
# --- Search --- # # --- Search --- #
NothingToDelete = """ NothingToDelete = T(
en="""
No entries to delete, because the search returned no results No entries to delete, because the search returned no results
""" """,
ja="""
NothingToModify = """ """,
)
NothingToModify = T(
en="""
No entries to modify, because the search returned no results No entries to modify, because the search returned no results
""" """,
ja="""
NoEntriesFound = "no entries found" """,
EntryFoundCountSingular = "{num} entry found" )
EntryFoundCountPlural = "{num} entries found" NoEntriesFound = T(
en="no entries found",
ja="",
)
EntryFoundCountSingular = T(
en="{num} entry found",
ja="",
)
EntryFoundCountPlural = T(
en="{num} entries found",
ja="",
)
# --- Formats --- # # --- Formats --- #
HeadingsPastH6 = """ HeadingsPastH6 = T(
en="""
Headings increased past H6 on export - {date} {title} Headings increased past H6 on export - {date} {title}
""" """,
ja="""
YamlMustBeDirectory = """ """,
)
YamlMustBeDirectory = T(
en="""
YAML export must be to a directory, not a single file YAML export must be to a directory, not a single file
""" """,
ja="""
JournalExportedTo = "Journal exported to {path}" """,
)
JournalExportedTo = T(
en="Journal exported to {path}",
ja="",
)
# --- Import --- # # --- Import --- #
ImportSummary = """ ImportSummary = T(
en="""
{count} imported to {journal_name} journal {count} imported to {journal_name} journal
""" """,
ja="""
""",
)
# --- Color --- # # --- Color --- #
InvalidColor = "{key} set to invalid color: {color}" InvalidColor = T(
en="{key} set to invalid color: {color}",
ja="",
)
# --- Keyring --- # # --- Keyring --- #
KeyringBackendNotFound = """ KeyringBackendNotFound = T(
en="""
Keyring backend not found. Keyring backend not found.
Please install one of the supported backends by visiting: Please install one of the supported backends by visiting:
https://pypi.org/project/keyring/ https://pypi.org/project/keyring/
""" """,
ja="""
KeyringRetrievalFailure = "Failed to retrieve keyring" """,
)
KeyringRetrievalFailure = T(
en="Failed to retrieve keyring",
ja="",
)
# --- Deprecation --- # # --- Deprecation --- #
DeprecatedCommand = """ DeprecatedCommand = T(
en="""
The command {old_cmd} is deprecated and will be removed from jrnl soon. The command {old_cmd} is deprecated and will be removed from jrnl soon.
Please use {new_cmd} instead. Please use {new_cmd} instead.
""" """,
ja="""
""",
)