Skip to content

Commit a5ea285

Browse files
sbtseiji3w36zj6
andauthored
foundations/datetimeの翻訳 (#291)
Co-authored-by: 3w36zj6 <[email protected]>
1 parent 38de3e0 commit a5ea285

File tree

2 files changed

+72
-110
lines changed

2 files changed

+72
-110
lines changed

crates/typst-library/src/foundations/datetime.rs

Lines changed: 71 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@ use crate::foundations::{
1414
};
1515
use crate::World;
1616

17-
/// Represents a date, a time, or a combination of both.
17+
/// 日付、時刻、またはその両方を表します。
1818
///
19-
/// Can be created by either specifying a custom datetime using this type's
20-
/// constructor function or getting the current date with
21-
/// [`datetime.today`]($datetime.today).
19+
/// この型のコンストラクタ関数を使ってカスタム日時を指定するか、[`datetime.today`]($datetime.today)を使って現在の日付を取得することで作成できます。
2220
///
23-
/// # Example
21+
/// #
2422
/// ```example
2523
/// #let date = datetime(
2624
/// year: 2020,
@@ -45,17 +43,16 @@ use crate::World;
4543
/// )
4644
/// ```
4745
///
48-
/// # Datetime and Duration
49-
/// You can get a [duration] by subtracting two datetime:
46+
/// # DatetimeとDuration
47+
/// 2つのdatetimeの差を取ることで、[duration]を取得できます。
5048
/// ```example
5149
/// #let first-of-march = datetime(day: 1, month: 3, year: 2024)
5250
/// #let first-of-jan = datetime(day: 1, month: 1, year: 2024)
5351
/// #let distance = first-of-march - first-of-jan
5452
/// #distance.hours()
5553
/// ```
5654
///
57-
/// You can also add/subtract a datetime and a duration to retrieve a new,
58-
/// offset datetime:
55+
/// datetimeとdurationを加減算することで、新しい日時(オフセットされたdatetime)を取得することもできます。
5956
/// ```example
6057
/// #let date = datetime(day: 1, month: 3, year: 2024)
6158
/// #let two-days = duration(days: 2)
@@ -67,72 +64,43 @@ use crate::World;
6764
/// #two-days-later.display()
6865
/// ```
6966
///
70-
/// # Format
71-
/// You can specify a customized formatting using the
72-
/// [`display`]($datetime.display) method. The format of a datetime is
73-
/// specified by providing _components_ with a specified number of _modifiers_.
74-
/// A component represents a certain part of the datetime that you want to
75-
/// display, and with the help of modifiers you can define how you want to
76-
/// display that component. In order to display a component, you wrap the name
77-
/// of the component in square brackets (e.g. `[[year]]` will display the year).
78-
/// In order to add modifiers, you add a space after the component name followed
79-
/// by the name of the modifier, a colon and the value of the modifier (e.g.
80-
/// `[[month repr:short]]` will display the short representation of the month).
67+
/// # フォーマット
68+
/// [`display`]($datetime.display)メソッドを使うことで、日時をカスタマイズして表示するフォーマットを指定できます。日時のフォーマットは、_コンポーネント_ に _修飾子_ を組み合わせることで指定します。
69+
/// コンポーネントは、日時の中の特定の部分(たとえば年や月など)を表します。そして修飾子を使うことで、そのコンポーネントをどのように表示するかを細かく設定できます。
70+
/// コンポーネントを表示するには、コンポーネントの名前を角かっこで囲みます(例:`[[year]]`は年を表示します)。修飾子を追加するには、コンポーネント名の後に半角スペースを入れ、修飾子名、コロン(:)、修飾子の値を記述します(例:`[[month repr:short]]`は月名を短縮形で表示します)。
8171
///
82-
/// The possible combination of components and their respective modifiers is as
83-
/// follows:
72+
/// 使用可能なコンポーネントと修飾子の組み合わせは以下のとおりです。
8473
///
85-
/// - `year`: Displays the year of the datetime.
86-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
87-
/// year is padded.
88-
/// - `repr` Can be either `full` in which case the full year is displayed or
89-
/// `last_two` in which case only the last two digits are displayed.
90-
/// - `sign`: Can be either `automatic` or `mandatory`. Specifies when the
91-
/// sign should be displayed.
92-
/// - `month`: Displays the month of the datetime.
93-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
94-
/// month is padded.
95-
/// - `repr`: Can be either `numerical`, `long` or `short`. Specifies if the
96-
/// month should be displayed as a number or a word. Unfortunately, when
97-
/// choosing the word representation, it can currently only display the
98-
/// English version. In the future, it is planned to support localization.
99-
/// - `day`: Displays the day of the datetime.
100-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
101-
/// day is padded.
102-
/// - `week_number`: Displays the week number of the datetime.
103-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
104-
/// week number is padded.
105-
/// - `repr`: Can be either `ISO`, `sunday` or `monday`. In the case of `ISO`,
106-
/// week numbers are between 1 and 53, while the other ones are between 0
107-
/// and 53.
108-
/// - `weekday`: Displays the weekday of the date.
109-
/// - `repr` Can be either `long`, `short`, `sunday` or `monday`. In the case
110-
/// of `long` and `short`, the corresponding English name will be displayed
111-
/// (same as for the month, other languages are currently not supported). In
112-
/// the case of `sunday` and `monday`, the numerical value will be displayed
113-
/// (assuming Sunday and Monday as the first day of the week, respectively).
114-
/// - `one_indexed`: Can be either `true` or `false`. Defines whether the
115-
/// numerical representation of the week starts with 0 or 1.
116-
/// - `hour`: Displays the hour of the date.
117-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
118-
/// hour is padded.
119-
/// - `repr`: Can be either `24` or `12`. Changes whether the hour is
120-
/// displayed in the 24-hour or 12-hour format.
121-
/// - `period`: The AM/PM part of the hour
122-
/// - `case`: Can be `lower` to display it in lower case and `upper` to
123-
/// display it in upper case.
124-
/// - `minute`: Displays the minute of the date.
125-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
126-
/// minute is padded.
127-
/// - `second`: Displays the second of the date.
128-
/// - `padding`: Can be either `zero`, `space` or `none`. Specifies how the
129-
/// second is padded.
74+
/// - `year`: `datetime`の年を表示します。
75+
/// - `padding`: 年表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
76+
/// - `repr`: `full`(4桁表示)`last_two`(2桁表示)を指定できます。
77+
/// - `sign`: 符号の表示を`automatic`(自動)または`mandatory`(常時)で指定できます。
78+
/// - `month`: `datetime`の月を表示します
79+
/// - `padding`: 月表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
80+
/// - `repr`: 月を数値で表示するか(`numerical`)、英語の月名(`long`)、英語の略称(`short`)で表示するかを指定できます。
81+
/// 残念ながら、現在のところ、月名表示は英語のみです。将来的には多言語対応が予定されています。
82+
/// - `day`: `datetime`の日を表示します。
83+
/// - `padding`: 日表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
84+
/// - `week_number`: datetimeの週番号を表示します。
85+
/// - `padding`: 週番号のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
86+
/// - `repr`: `ISO`、`sunday`(日曜開始)、`monday`(月曜開始)を指定できます。ISOの場合、数字は1〜53、それ以外では0〜53で表されます。
87+
/// - `weekday`: `date`の曜日を表示します。
88+
/// - `repr`: 曜日名(`long`)、曜日名の略称(`short`)、日曜(`sunday`)、月曜(`monday`)のいずれかを指定できます。
89+
/// `long`と`short`では、対応する曜日名が英語で表示されます。
90+
/// (月名と同様に、他言語での表示はまだサポートされていません)。
91+
/// `sunday`と`monday`では、日曜または月曜から数えた日数が数値で表示されます。
92+
/// - `one_indexed`: `true`または`false`を指定できます。これは、曜日の数値表示の際、開始日を0とするか1とするかを指定します。
93+
/// - `hour`: `date`の時を表示します。
94+
/// - `padding`: 時表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
95+
/// - `repr`: 24時間表示(`24`)または12時間表示(`12`)を指定できます。
96+
/// - `period`: AM/PM(午前・午後)の表示です。
97+
/// - `case`: 小文字(`lower`)、大文字(`upper`)を指定できます。
98+
/// - `minute`: `date`の分を表示します。
99+
/// - `padding`: 分表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
100+
/// - `second`: `date`の秒を表示します。
101+
/// - `padding`: 秒表示のパディングは`zero`(ゼロ)、`space`(空白)、`none`(なし)が指定できます。
130102
///
131-
/// Keep in mind that not always all components can be used. For example, if you
132-
/// create a new datetime with `{datetime(year: 2023, month: 10, day: 13)}`, it
133-
/// will be stored as a plain date internally, meaning that you cannot use
134-
/// components such as `hour` or `minute`, which would only work on datetimes
135-
/// that have a specified time.
103+
/// すべてのコンポーネントが常に使用できるとは限らない点には注意してください。たとえば、`{datetime(year: 2023, month: 10, day: 13)}`のようにして新しい`datetime`を作成すると、内部的には日付のみが保持されるため、`hour`や`minute`のようなコンポーネントは使用できません。それらは特定の時刻が指定された`datetime`でのみ動作します。
136104
#[ty(scope, cast)]
137105
#[derive(Debug, Clone, Copy, PartialEq, Hash)]
138106
pub enum Datetime {
@@ -233,20 +201,16 @@ impl Datetime {
233201

234202
#[scope]
235203
impl Datetime {
236-
/// Creates a new datetime.
204+
/// 新しいdatetimeを作成。
237205
///
238-
/// You can specify the [datetime] using a year, month, day, hour, minute,
239-
/// and second.
206+
/// 年、月、日、時、分、秒を指定して[datetime]を作成します。
240207
///
241-
/// _Note_: Depending on which components of the datetime you specify, Typst
242-
/// will store it in one of the following three ways:
243-
/// * If you specify year, month and day, Typst will store just a date.
244-
/// * If you specify hour, minute and second, Typst will store just a time.
245-
/// * If you specify all of year, month, day, hour, minute and second, Typst
246-
/// will store a full datetime.
208+
/// _注_:指定する`datetime`の要素によって、Typstが保持する形式は次の3通りのいずれかになります。
209+
/// * 年、月、日だけを指定した場合、Typstは日付のみを保持します。
210+
/// * 時、分、秒だけを指定した場合、Typstは時刻のみを保持します。
211+
/// * 年、月、日、時、分、秒すべてを指定した場合、Typstは完全な日時を保持します。
247212
///
248-
/// Depending on how it is stored, the [`display`]($datetime.display) method
249-
/// will choose a different formatting by default.
213+
/// 保持形式に応じて、[`display`]($datetime.display)メソッドはデフォルトで異なるフォーマットを選択します。
250214
///
251215
/// ```example
252216
/// #datetime(
@@ -257,22 +221,22 @@ impl Datetime {
257221
/// ```
258222
#[func(constructor)]
259223
pub fn construct(
260-
/// The year of the datetime.
224+
/// `datetime`の年。
261225
#[named]
262226
year: Option<i32>,
263-
/// The month of the datetime.
227+
/// `datetime`の月。
264228
#[named]
265229
month: Option<Month>,
266-
/// The day of the datetime.
230+
/// `datetime`の日。
267231
#[named]
268232
day: Option<u8>,
269-
/// The hour of the datetime.
233+
/// `datetime`の時。
270234
#[named]
271235
hour: Option<u8>,
272-
/// The minute of the datetime.
236+
/// `datetime`の分。
273237
#[named]
274238
minute: Option<u8>,
275-
/// The second of the datetime.
239+
/// `datetime`の秒。
276240
#[named]
277241
second: Option<u8>,
278242
) -> StrResult<Datetime> {
@@ -310,7 +274,7 @@ impl Datetime {
310274
})
311275
}
312276

313-
/// Returns the current date.
277+
/// 現在の日付を取得。
314278
///
315279
/// ```example
316280
/// Today's date is
@@ -319,8 +283,7 @@ impl Datetime {
319283
#[func]
320284
pub fn today(
321285
engine: &mut Engine,
322-
/// An offset to apply to the current UTC date. If set to `{auto}`, the
323-
/// offset will be the local offset.
286+
/// 現在のUTC日時に適用するオフセットです。`{auto}`に設定した場合は、ローカルのオフセットが適用されます。
324287
#[named]
325288
#[default]
326289
offset: Smart<i64>,
@@ -331,19 +294,17 @@ impl Datetime {
331294
.ok_or("unable to get the current date")?)
332295
}
333296

334-
/// Displays the datetime in a specified format.
297+
/// 指定したフォーマットで`datetime`を表示します。
298+
/// 日付のみ、時刻のみ、または両方が指定されているかによって、デフォルトのフォーマットは異なります。
299+
/// 日付のみ指定されている場合は`[[year]-[month]-[day]]`になります。
300+
/// 時刻のみ指定されている場合は`[[hour]:[minute]:[second]]`になります。
301+
/// 日時の両方が指定されている場合は`[[year]-[month]-[day] [hour]:[minute]:[second]]`になります。
335302
///
336-
/// Depending on whether you have defined just a date, a time or both, the
337-
/// default format will be different. If you specified a date, it will be
338-
/// `[[year]-[month]-[day]]`. If you specified a time, it will be
339-
/// `[[hour]:[minute]:[second]]`. In the case of a datetime, it will be
340-
/// `[[year]-[month]-[day] [hour]:[minute]:[second]]`.
341-
///
342-
/// See the [format syntax]($datetime/#format) for more information.
303+
/// 詳細は[フォーマット構文]($datetime/#format)を参照してください。
343304
#[func]
344305
pub fn display(
345306
&self,
346-
/// The format used to display the datetime.
307+
/// `datetime`を表示する際に使用するフォーマットです。
347308
#[default]
348309
pattern: Smart<DisplayPattern>,
349310
) -> StrResult<EcoString> {
@@ -366,7 +327,7 @@ impl Datetime {
366327
result.map(EcoString::from).map_err(format_time_format_error)
367328
}
368329

369-
/// The year if it was specified, or `{none}` for times without a date.
330+
/// 年を返します。年が指定されていない場合や、日付を持たない時間の場合は`{none}`になります。
370331
#[func]
371332
pub fn year(&self) -> Option<i32> {
372333
match self {
@@ -376,7 +337,7 @@ impl Datetime {
376337
}
377338
}
378339

379-
/// The month if it was specified, or `{none}` for times without a date.
340+
/// 月を返します。日付を持たない時間の場合は`{none}`になります。
380341
#[func]
381342
pub fn month(&self) -> Option<u8> {
382343
match self {
@@ -386,7 +347,7 @@ impl Datetime {
386347
}
387348
}
388349

389-
/// The weekday (counting Monday as 1) or `{none}` for times without a date.
350+
/// (月曜日を1とする)曜日を返します。日付を持たない時間の場合は`{none}`になります。
390351
#[func]
391352
pub fn weekday(&self) -> Option<u8> {
392353
match self {
@@ -396,7 +357,7 @@ impl Datetime {
396357
}
397358
}
398359

399-
/// The day if it was specified, or `{none}` for times without a date.
360+
/// 日を返します。日付を持たない時間の場合は`{none}`になります。
400361
#[func]
401362
pub fn day(&self) -> Option<u8> {
402363
match self {
@@ -406,7 +367,7 @@ impl Datetime {
406367
}
407368
}
408369

409-
/// The hour if it was specified, or `{none}` for dates without a time.
370+
/// 時を返します。時刻を持たない日付の場合は`{none}`になります。
410371
#[func]
411372
pub fn hour(&self) -> Option<u8> {
412373
match self {
@@ -416,7 +377,7 @@ impl Datetime {
416377
}
417378
}
418379

419-
/// The minute if it was specified, or `{none}` for dates without a time.
380+
/// 分を返します。時刻を持たない日付の場合は`{none}`になります。
420381
#[func]
421382
pub fn minute(&self) -> Option<u8> {
422383
match self {
@@ -426,7 +387,7 @@ impl Datetime {
426387
}
427388
}
428389

429-
/// The second if it was specified, or `{none}` for dates without a time.
390+
/// 秒を返します。時刻を持たない日付の場合は`{none}`になります。
430391
#[func]
431392
pub fn second(&self) -> Option<u8> {
432393
match self {
@@ -436,7 +397,8 @@ impl Datetime {
436397
}
437398
}
438399

439-
/// The ordinal (day of the year), or `{none}` for times without a date.
400+
/// 年の通算日(1年の中での通し番号)を返します。
401+
/// 日付を持たない時刻の場合は `{none}` になります。
440402
#[func]
441403
pub fn ordinal(&self) -> Option<u16> {
442404
match self {

website/translation-status.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"/docs/reference/foundations/bytes/": "untranslated",
2121
"/docs/reference/foundations/calc/": "untranslated",
2222
"/docs/reference/foundations/content/": "untranslated",
23-
"/docs/reference/foundations/datetime/": "untranslated",
23+
"/docs/reference/foundations/datetime/": "translated",
2424
"/docs/reference/foundations/decimal/": "untranslated",
2525
"/docs/reference/foundations/dictionary/": "untranslated",
2626
"/docs/reference/foundations/duration/": "untranslated",

0 commit comments

Comments
 (0)