@@ -14,13 +14,11 @@ use crate::foundations::{
14
14
} ;
15
15
use crate :: World ;
16
16
17
- /// Represents a date, a time, or a combination of both.
17
+ /// 日付、時刻、またはその両方を表します。
18
18
///
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)を使って現在の日付を取得することで作成できます。
22
20
///
23
- /// # Example
21
+ /// # 例
24
22
/// ```example
25
23
/// #let date = datetime(
26
24
/// year: 2020,
@@ -45,17 +43,16 @@ use crate::World;
45
43
/// )
46
44
/// ```
47
45
///
48
- /// # Datetime and Duration
49
- /// You can get a [duration] by subtracting two datetime:
46
+ /// # DatetimeとDuration
47
+ /// 2つのdatetimeの差を取ることで、 [duration]を取得できます。
50
48
/// ```example
51
49
/// #let first-of-march = datetime(day: 1, month: 3, year: 2024)
52
50
/// #let first-of-jan = datetime(day: 1, month: 1, year: 2024)
53
51
/// #let distance = first-of-march - first-of-jan
54
52
/// #distance.hours()
55
53
/// ```
56
54
///
57
- /// You can also add/subtract a datetime and a duration to retrieve a new,
58
- /// offset datetime:
55
+ /// datetimeとdurationを加減算することで、新しい日時(オフセットされたdatetime)を取得することもできます。
59
56
/// ```example
60
57
/// #let date = datetime(day: 1, month: 3, year: 2024)
61
58
/// #let two-days = duration(days: 2)
@@ -67,72 +64,43 @@ use crate::World;
67
64
/// #two-days-later.display()
68
65
/// ```
69
66
///
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]]`は月名を短縮形で表示します)。
81
71
///
82
- /// The possible combination of components and their respective modifiers is as
83
- /// follows:
72
+ /// 使用可能なコンポーネントと修飾子の組み合わせは以下のとおりです。
84
73
///
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`(なし)が指定できます。
130
102
///
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`でのみ動作します。
136
104
#[ ty( scope, cast) ]
137
105
#[ derive( Debug , Clone , Copy , PartialEq , Hash ) ]
138
106
pub enum Datetime {
@@ -233,20 +201,16 @@ impl Datetime {
233
201
234
202
#[ scope]
235
203
impl Datetime {
236
- /// Creates a new datetime.
204
+ /// 新しいdatetimeを作成。
237
205
///
238
- /// You can specify the [datetime] using a year, month, day, hour, minute,
239
- /// and second.
206
+ /// 年、月、日、時、分、秒を指定して[datetime]を作成します。
240
207
///
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は完全な日時を保持します。
247
212
///
248
- /// Depending on how it is stored, the [`display`]($datetime.display) method
249
- /// will choose a different formatting by default.
213
+ /// 保持形式に応じて、[`display`]($datetime.display)メソッドはデフォルトで異なるフォーマットを選択します。
250
214
///
251
215
/// ```example
252
216
/// #datetime(
@@ -257,22 +221,22 @@ impl Datetime {
257
221
/// ```
258
222
#[ func( constructor) ]
259
223
pub fn construct (
260
- /// The year of the datetime.
224
+ /// ` datetime`の年。
261
225
#[ named]
262
226
year : Option < i32 > ,
263
- /// The month of the datetime.
227
+ /// ` datetime`の月。
264
228
#[ named]
265
229
month : Option < Month > ,
266
- /// The day of the datetime.
230
+ /// ` datetime`の日。
267
231
#[ named]
268
232
day : Option < u8 > ,
269
- /// The hour of the datetime.
233
+ /// ` datetime`の時。
270
234
#[ named]
271
235
hour : Option < u8 > ,
272
- /// The minute of the datetime.
236
+ /// ` datetime`の分。
273
237
#[ named]
274
238
minute : Option < u8 > ,
275
- /// The second of the datetime.
239
+ /// ` datetime`の秒。
276
240
#[ named]
277
241
second : Option < u8 > ,
278
242
) -> StrResult < Datetime > {
@@ -310,7 +274,7 @@ impl Datetime {
310
274
} )
311
275
}
312
276
313
- /// Returns the current date.
277
+ /// 現在の日付を取得。
314
278
///
315
279
/// ```example
316
280
/// Today's date is
@@ -319,8 +283,7 @@ impl Datetime {
319
283
#[ func]
320
284
pub fn today (
321
285
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}`に設定した場合は、ローカルのオフセットが適用されます。
324
287
#[ named]
325
288
#[ default]
326
289
offset : Smart < i64 > ,
@@ -331,19 +294,17 @@ impl Datetime {
331
294
. ok_or ( "unable to get the current date" ) ?)
332
295
}
333
296
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]]`になります。
335
302
///
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)を参照してください。
343
304
#[ func]
344
305
pub fn display (
345
306
& self ,
346
- /// The format used to display the datetime.
307
+ /// ` datetime`を表示する際に使用するフォーマットです。
347
308
#[ default]
348
309
pattern : Smart < DisplayPattern > ,
349
310
) -> StrResult < EcoString > {
@@ -366,7 +327,7 @@ impl Datetime {
366
327
result. map ( EcoString :: from) . map_err ( format_time_format_error)
367
328
}
368
329
369
- /// The year if it was specified, or `{none}` for times without a date.
330
+ /// 年を返します。年が指定されていない場合や、日付を持たない時間の場合は `{none}`になります。
370
331
#[ func]
371
332
pub fn year ( & self ) -> Option < i32 > {
372
333
match self {
@@ -376,7 +337,7 @@ impl Datetime {
376
337
}
377
338
}
378
339
379
- /// The month if it was specified, or `{none}` for times without a date.
340
+ /// 月を返します。日付を持たない時間の場合は `{none}`になります。
380
341
#[ func]
381
342
pub fn month ( & self ) -> Option < u8 > {
382
343
match self {
@@ -386,7 +347,7 @@ impl Datetime {
386
347
}
387
348
}
388
349
389
- /// The weekday (counting Monday as 1) or `{none}` for times without a date.
350
+ /// (月曜日を1とする)曜日を返します。日付を持たない時間の場合は `{none}`になります。
390
351
#[ func]
391
352
pub fn weekday ( & self ) -> Option < u8 > {
392
353
match self {
@@ -396,7 +357,7 @@ impl Datetime {
396
357
}
397
358
}
398
359
399
- /// The day if it was specified, or `{none}` for times without a date.
360
+ /// 日を返します。日付を持たない時間の場合は `{none}`になります。
400
361
#[ func]
401
362
pub fn day ( & self ) -> Option < u8 > {
402
363
match self {
@@ -406,7 +367,7 @@ impl Datetime {
406
367
}
407
368
}
408
369
409
- /// The hour if it was specified, or `{none}` for dates without a time.
370
+ /// 時を返します。時刻を持たない日付の場合は `{none}`になります。
410
371
#[ func]
411
372
pub fn hour ( & self ) -> Option < u8 > {
412
373
match self {
@@ -416,7 +377,7 @@ impl Datetime {
416
377
}
417
378
}
418
379
419
- /// The minute if it was specified, or `{none}` for dates without a time.
380
+ /// 分を返します。時刻を持たない日付の場合は `{none}`になります。
420
381
#[ func]
421
382
pub fn minute ( & self ) -> Option < u8 > {
422
383
match self {
@@ -426,7 +387,7 @@ impl Datetime {
426
387
}
427
388
}
428
389
429
- /// The second if it was specified, or `{none}` for dates without a time.
390
+ /// 秒を返します。時刻を持たない日付の場合は `{none}`になります。
430
391
#[ func]
431
392
pub fn second ( & self ) -> Option < u8 > {
432
393
match self {
@@ -436,7 +397,8 @@ impl Datetime {
436
397
}
437
398
}
438
399
439
- /// The ordinal (day of the year), or `{none}` for times without a date.
400
+ /// 年の通算日(1年の中での通し番号)を返します。
401
+ /// 日付を持たない時刻の場合は `{none}` になります。
440
402
#[ func]
441
403
pub fn ordinal ( & self ) -> Option < u16 > {
442
404
match self {
0 commit comments