feat: better domain result display

This commit is contained in:
Maël Gangloff
2024-08-20 17:32:58 +02:00
parent 37ce283f9a
commit fa40b9f0b1
9 changed files with 434 additions and 343 deletions

View File

@@ -5,7 +5,7 @@ import {EntitiesList} from "./EntitiesList";
import {DomainDiagram} from "./DomainDiagram";
import React from "react";
import {Domain} from "../../utils/api";
import {rdapStatusCodeDetailTranslation} from "./rdapStatusCodeDetailTranslation";
import {rdapStatusCodeDetailTranslation} from "./rdapTranslation";
export function DomainResult({domain}: { domain: Domain }) {

View File

@@ -1,28 +1,15 @@
import vCard from "vcf";
import {Avatar, List, Tooltip} from "antd";
import {Avatar, List, Tag, Tooltip} from "antd";
import {BankOutlined, IdcardOutlined, SignatureOutlined, ToolOutlined, UserOutlined} from "@ant-design/icons";
import React from "react";
import {Domain} from "../../utils/api";
import {t} from "ttag";
import {rdapRoleDetailTranslation, rdapRoleTranslation} from "./rdapTranslation";
import {rolesToColor} from "../tracking/watchlist/diagram/watchlistToEdges";
export function translateRoles() {
return {
registrant: t`Registrant`,
technical: t`Technical`,
administrative: t`Administrative`,
abuse: t`Abuse`,
billing: t`Billing`,
registrar: t`Registrar`,
reseller: t`Reseller`,
sponsor: t`Sponsor`,
proxy: t`Proxy`,
notifications: t`Notifications`,
noc: t`Noc`
}
}
export function EntitiesList({domain}: { domain: Domain }) {
const domainRole = translateRoles()
const rdapRoleTranslated = rdapRoleTranslation()
const rdapRoleDetailTranslated = rdapRoleDetailTranslation()
return <List
className="demo-loadmore-list"
@@ -50,7 +37,12 @@ export function EntitiesList({domain}: { domain: Domain }) {
title={e.entity.handle}
description={name}
/>
<div>{e.roles.map((r) => Object.keys(domainRole).includes(r) ? domainRole[r as keyof typeof domainRole] : r).join(', ')}</div>
{e.roles.map((r) =>
<Tooltip
title={r in rdapRoleDetailTranslated ? rdapRoleDetailTranslated[r as keyof typeof rdapRoleDetailTranslated] : undefined}>
<Tag
color={rolesToColor([r])}>{rdapRoleTranslated[r as keyof typeof rdapRoleTranslated]}</Tag>
</Tooltip>)}
</List.Item>
}}
/>

View File

@@ -10,7 +10,7 @@ import {Timeline, Tooltip} from "antd";
import React from "react";
import {Domain, EventAction} from "../../utils/api";
import useBreakpoint from "../../hooks/useBreakpoint";
import {rdapEventDetailTranslation, rdapEventNameTranslation} from "./rdapEventActionDetailTranslation";
import {rdapEventDetailTranslation, rdapEventNameTranslation} from "./rdapTranslation";
export function actionToColor(a: EventAction) {
return a === 'registration' ? 'green' :
@@ -50,7 +50,7 @@ export function EventTimeline({domain}: { domain: Domain }) {
dot = <ReloadOutlined style={{fontSize: '16px'}}/>
}
const eventName = Object.keys(rdapEventNameTranslated).includes(action) ? rdapEventNameTranslated[action as keyof typeof rdapEventNameTranslated] : action
const eventName = action in rdapEventNameTranslated ? rdapEventNameTranslated[action as keyof typeof rdapEventNameTranslated] : action
const dateStr = new Date(date).toLocaleString(locale)
const eventDetail = action in rdapEventDetailTranslated ? rdapEventDetailTranslated[action as keyof typeof rdapEventDetailTranslated] : undefined

View File

@@ -1,35 +0,0 @@
import {t} from "ttag";
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapEventNameTranslation = () => ({
registration: t`Registration`,
reregistration: t`Reregistration`,
'last changed': t`Changed`,
expiration: t`Expiration`,
deletion: t`Deletion`,
reinstantiation: t`Reinstantiation`,
transfer: t`Transfer`,
locked: t`Locked`,
unlocked: t`Unlocked`,
'registrar expiration': t`Registrar expiration`,
'enum validation expiration': t`ENUM validation expiration`
})
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapEventDetailTranslation = () => ({
registration: t`The object instance was initially registered.`,
reregistration: t`The object instance was registered subsequently to initial registration.`,
'last changed': t`An action noting when the information in the object instance was last changed.`,
expiration: t`The object instance has been removed or will be removed at a predetermined date and time from the registry.`,
deletion: t`The object instance was removed from the registry at a point in time that was not predetermined.`,
reinstantiation: t`The object instance was reregistered after having been removed from the registry.`,
transfer: t`The object instance was transferred from one registrar to another.`,
locked: t`The object instance was locked.`,
unlocked: t`The object instance was unlocked.`,
'registrar expiration': t`An action noting the expiration date of the object in the registrar system.`,
'enum validation expiration': t`Association of phone number represented by this ENUM domain to registrant has expired or will expire at a predetermined date and time.`
})

View File

@@ -1,5 +1,75 @@
import {t} from "ttag";
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapRoleTranslation = () => ({
registrant: t`Registrant`,
technical: t`Technical`,
administrative: t`Administrative`,
abuse: t`Abuse`,
billing: t`Billing`,
registrar: t`Registrar`,
reseller: t`Reseller`,
sponsor: t`Sponsor`,
proxy: t`Proxy`,
notifications: t`Notifications`,
noc: t`Noc`
})
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapRoleDetailTranslation = () => ({
registrant: t`The entity object instance is the registrant of the registration. In some registries, this is known as a maintainer.`,
technical: t`The entity object instance is a technical contact for the registration.`,
administrative: t`The entity object instance is an administrative contact for the registration.`,
abuse: t`The entity object instance handles network abuse issues on behalf of the registrant of the registration.`,
billing: t`The entity object instance handles payment and billing issues on behalf of the registrant of the registration.`,
registrar: t`The entity object instance represents the authority responsible for the registration in the registry.`,
reseller: t`The entity object instance represents a third party through which the registration was conducted (i.e., not the registry or registrar).`,
sponsor: t`The entity object instance represents a domain policy sponsor, such as an ICANN-approved sponsor.`,
proxy: t`The entity object instance represents a proxy for another entity object, such as a registrant.`,
notifications: t`An entity object instance designated to receive notifications about association object instances.`,
noc: t`The entity object instance handles communications related to a network operations center (NOC).`
})
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapEventNameTranslation = () => ({
registration: t`Registration`,
reregistration: t`Reregistration`,
'last changed': t`Changed`,
expiration: t`Expiration`,
deletion: t`Deletion`,
reinstantiation: t`Reinstantiation`,
transfer: t`Transfer`,
locked: t`Locked`,
unlocked: t`Unlocked`,
'registrar expiration': t`Registrar expiration`,
'enum validation expiration': t`ENUM validation expiration`
})
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/
export const rdapEventDetailTranslation = () => ({
registration: t`The object instance was initially registered.`,
reregistration: t`The object instance was registered subsequently to initial registration.`,
'last changed': t`An action noting when the information in the object instance was last changed.`,
expiration: t`The object instance has been removed or will be removed at a predetermined date and time from the registry.`,
deletion: t`The object instance was removed from the registry at a point in time that was not predetermined.`,
reinstantiation: t`The object instance was reregistered after having been removed from the registry.`,
transfer: t`The object instance was transferred from one registrar to another.`,
locked: t`The object instance was locked.`,
unlocked: t`The object instance was unlocked.`,
'registrar expiration': t`An action noting the expiration date of the object in the registrar system.`,
'enum validation expiration': t`Association of phone number represented by this ENUM domain to registrant has expired or will expire at a predetermined date and time.`
})
/**
* @see https://www.iana.org/assignments/rdap-json-values/rdap-json-values.xhtml
*/

View File

@@ -11,7 +11,7 @@ import {Watchlist} from "../../../pages/tracking/WatchlistPage";
import {Connector} from "../../../utils/api/connectors";
import useBreakpoint from "../../../hooks/useBreakpoint";
import {CalendarWatchlistButton} from "./CalendarWatchlistButton";
import {rdapEventNameTranslation} from "../../search/rdapEventActionDetailTranslation";
import {rdapEventNameTranslation} from "../../search/rdapTranslation";
export function WatchlistCard({watchlist, onUpdateWatchlist, connectors, onDelete}: {
watchlist: Watchlist,

View File

@@ -4,7 +4,7 @@ import {ApiOutlined, MinusCircleOutlined, PlusOutlined} from "@ant-design/icons"
import React from "react";
import {Connector} from "../../../utils/api/connectors";
import {actionToColor} from "../../search/EventTimeline";
import {rdapEventNameTranslation} from "../../search/rdapEventActionDetailTranslation";
import {rdapEventNameTranslation} from "../../search/rdapTranslation";
type TagRender = SelectProps['tagRender'];

View File

@@ -1,14 +1,14 @@
import {Domain, Watchlist} from "../../../../utils/api";
import {translateRoles} from "../../../search/EntitiesList";
import {rdapRoleTranslation} from "../../../search/rdapTranslation";
import {t} from "ttag";
const rolesToColor = (roles: string[]) => roles.includes('registrant') ? 'green' :
export const rolesToColor = (roles: string[]) => roles.includes('registrant') ? 'green' :
roles.includes('administrative') ? 'blue' :
roles.includes('technical') ? 'orange' :
roles.includes('registrar') ? 'violet' : 'white'
export function domainEntitiesToEdges(d: Domain, withRegistrar = false) {
const domainRole = translateRoles()
const rdapRoleTranslated = rdapRoleTranslation()
return d.entities
.filter(e => !withRegistrar ? !e.roles.includes('registrar') : true)
.map(e => ({
@@ -17,7 +17,7 @@ export function domainEntitiesToEdges(d: Domain, withRegistrar = false) {
target: e.roles.includes('registrant') || e.roles.includes('registrar') ? d.ldhName : e.entity.handle,
style: {stroke: rolesToColor(e.roles), strokeWidth: 3},
label: e.roles
.map(r => Object.keys(domainRole).includes(r) ? domainRole[r as keyof typeof domainRole] : r)
.map(r => r in rdapRoleTranslated ? rdapRoleTranslated[r as keyof typeof rdapRoleTranslated] : r)
.join(', '),
animated: e.roles.includes('registrant'),
}))

View File

@@ -40,104 +40,426 @@ msgstr ""
msgid "Log in with SSO"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:7
#: assets/components/search/rdapTranslation.ts:7
msgid "Registrant"
msgstr ""
#: assets/components/search/rdapTranslation.ts:8
msgid "Technical"
msgstr ""
#: assets/components/search/rdapTranslation.ts:9
msgid "Administrative"
msgstr ""
#: assets/components/search/rdapTranslation.ts:10
msgid "Abuse"
msgstr ""
#: assets/components/search/rdapTranslation.ts:11
msgid "Billing"
msgstr ""
#: assets/components/search/rdapTranslation.ts:12
msgid "Registrar"
msgstr ""
#: assets/components/search/rdapTranslation.ts:13
msgid "Reseller"
msgstr ""
#: assets/components/search/rdapTranslation.ts:14
msgid "Sponsor"
msgstr ""
#: assets/components/search/rdapTranslation.ts:15
msgid "Proxy"
msgstr ""
#: assets/components/search/rdapTranslation.ts:16
msgid "Notifications"
msgstr ""
#: assets/components/search/rdapTranslation.ts:17
msgid "Noc"
msgstr ""
#: assets/components/search/rdapTranslation.ts:25
msgid ""
"The entity object instance is the registrant of the registration. In some "
"registries, this is known as a maintainer."
msgstr ""
#: assets/components/search/rdapTranslation.ts:26
msgid "The entity object instance is a technical contact for the registration."
msgstr ""
#: assets/components/search/rdapTranslation.ts:27
msgid ""
"The entity object instance is an administrative contact for the "
"registration."
msgstr ""
#: assets/components/search/rdapTranslation.ts:28
msgid ""
"The entity object instance handles network abuse issues on behalf of the "
"registrant of the registration."
msgstr ""
#: assets/components/search/rdapTranslation.ts:29
msgid ""
"The entity object instance handles payment and billing issues on behalf of "
"the registrant of the registration."
msgstr ""
#: assets/components/search/rdapTranslation.ts:30
msgid ""
"The entity object instance represents the authority responsible for the "
"registration in the registry."
msgstr ""
#: assets/components/search/rdapTranslation.ts:31
msgid ""
"The entity object instance represents a third party through which the "
"registration was conducted (i.e., not the registry or registrar)."
msgstr ""
#: assets/components/search/rdapTranslation.ts:32
msgid ""
"The entity object instance represents a domain policy sponsor, such as an "
"ICANN-approved sponsor."
msgstr ""
#: assets/components/search/rdapTranslation.ts:33
msgid ""
"The entity object instance represents a proxy for another entity object, "
"such as a registrant."
msgstr ""
#: assets/components/search/rdapTranslation.ts:34
msgid ""
"An entity object instance designated to receive notifications about "
"association object instances."
msgstr ""
#: assets/components/search/rdapTranslation.ts:35
msgid ""
"The entity object instance handles communications related to a network "
"operations center (NOC)."
msgstr ""
#: assets/components/search/rdapTranslation.ts:43
msgid "Registration"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:8
#: assets/components/search/rdapTranslation.ts:44
msgid "Reregistration"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:9
#: assets/components/search/rdapTranslation.ts:45
msgid "Changed"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:10
#: assets/components/search/rdapTranslation.ts:46
msgid "Expiration"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:11
#: assets/components/search/rdapTranslation.ts:47
msgid "Deletion"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:12
#: assets/components/search/rdapTranslation.ts:48
msgid "Reinstantiation"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:13
#: assets/components/search/rdapTranslation.ts:49
msgid "Transfer"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:14
#: assets/components/search/rdapTranslation.ts:50
msgid "Locked"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:15
#: assets/components/search/rdapTranslation.ts:51
msgid "Unlocked"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:16
#: assets/components/search/rdapTranslation.ts:52
msgid "Registrar expiration"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:17
#: assets/components/search/rdapTranslation.ts:53
msgid "ENUM validation expiration"
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:24
#: assets/components/search/rdapTranslation.ts:60
msgid "The object instance was initially registered."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:25
#: assets/components/search/rdapTranslation.ts:61
msgid "The object instance was registered subsequently to initial registration."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:26
#: assets/components/search/rdapTranslation.ts:62
msgid ""
"An action noting when the information in the object instance was last "
"changed."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:27
#: assets/components/search/rdapTranslation.ts:63
msgid ""
"The object instance has been removed or will be removed at a predetermined "
"date and time from the registry."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:28
#: assets/components/search/rdapTranslation.ts:64
msgid ""
"The object instance was removed from the registry at a point in time that "
"was not predetermined."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:29
#: assets/components/search/rdapTranslation.ts:65
msgid ""
"The object instance was reregistered after having been removed from the "
"registry."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:30
#: assets/components/search/rdapTranslation.ts:66
msgid "The object instance was transferred from one registrar to another."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:31
#: assets/components/search/rdapTranslation.ts:67
msgid "The object instance was locked."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:32
#: assets/components/search/rdapTranslation.ts:68
msgid "The object instance was unlocked."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:33
#: assets/components/search/rdapTranslation.ts:69
msgid "An action noting the expiration date of the object in the registrar system."
msgstr ""
#: assets/components/search/rdapEventActionDetailTranslation.ts:34
#: assets/components/search/rdapTranslation.ts:70
msgid ""
"Association of phone number represented by this ENUM domain to registrant "
"has expired or will expire at a predetermined date and time."
msgstr ""
#: assets/components/search/rdapTranslation.ts:77
msgid ""
"Signifies that the data of the object instance has been found to be "
"accurate."
msgstr ""
#: assets/components/search/rdapTranslation.ts:78
msgid "Renewal or reregistration of the object instance is forbidden."
msgstr ""
#: assets/components/search/rdapTranslation.ts:79
msgid "Updates to the object instance are forbidden."
msgstr ""
#: assets/components/search/rdapTranslation.ts:80
msgid "Transfers of the registration from one registrar to another are forbidden."
msgstr ""
#: assets/components/search/rdapTranslation.ts:81
msgid "Deletion of the registration of the object instance is forbidden."
msgstr ""
#: assets/components/search/rdapTranslation.ts:82
msgid ""
"The registration of the object instance has been performed by a third "
"party. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapTranslation.ts:83
msgid ""
"The information of the object instance is not designated for public "
"consumption. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapTranslation.ts:84
msgid ""
"Some of the information of the object instance has not been made available "
"and has been removed. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapTranslation.ts:85
msgid ""
"Some of the information of the object instance has been altered for the "
"purposes of not readily revealing the actual information of the object "
"instance. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapTranslation.ts:86
msgid ""
"The object instance is associated with other object instances in the "
"registry. This is most commonly used to signify that a nameserver is "
"associated with a domain or that an entity is associated with a network "
"resource or domain."
msgstr ""
#: assets/components/search/rdapTranslation.ts:87
msgid ""
"The object instance is in use. For domain names, it signifies that the "
"domain name is published in DNS. For network and autnum registrations, it "
"signifies that they are allocated or assigned for use in operational "
"networks."
msgstr ""
#: assets/components/search/rdapTranslation.ts:88
msgid "The object instance is not in use."
msgstr ""
#: assets/components/search/rdapTranslation.ts:89
msgid ""
"Changes to the object instance cannot be made, including the association of "
"other object instances."
msgstr ""
#: assets/components/search/rdapTranslation.ts:90
msgid ""
"A request has been received for the creation of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapTranslation.ts:91
msgid ""
"A request has been received for the renewal of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapTranslation.ts:92
msgid ""
"A request has been received for the transfer of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapTranslation.ts:93
msgid ""
"A request has been received for the update or modification of the object "
"instance, but this action is not yet complete."
msgstr ""
#: assets/components/search/rdapTranslation.ts:94
msgid ""
"A request has been received for the deletion or removal of the object "
"instance, but this action is not yet complete. For domains, this might mean "
"that the name is no longer published in DNS but has not yet been purged "
"from the registry database."
msgstr ""
#: assets/components/search/rdapTranslation.ts:95
msgid ""
"This grace period is provided after the initial registration of the object. "
"If the object is deleted by the client during this period, the server "
"provides a credit to the client for the cost of the registration."
msgstr ""
#: assets/components/search/rdapTranslation.ts:96
msgid ""
"This grace period is provided after an object registration period expires "
"and is extended (renewed) automatically by the server. If the object is "
"deleted by the client during this period, the server provides a credit to "
"the client for the cost of the auto renewal."
msgstr ""
#: assets/components/search/rdapTranslation.ts:97
msgid "The client requested that requests to delete the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:98
msgid ""
"The client requested that the DNS delegation information MUST NOT be "
"published for the object."
msgstr ""
#: assets/components/search/rdapTranslation.ts:99
msgid "The client requested that requests to renew the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:100
msgid "The client requested that requests to transfer the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:101
msgid ""
"The client requested that requests to update the object (other than to "
"remove this status) MUST be rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:102
msgid ""
"An object is in the process of being restored after being in the redemption "
"period state."
msgstr ""
#: assets/components/search/rdapTranslation.ts:103
msgid ""
"A delete has been received, but the object has not yet been purged because "
"an opportunity exists to restore the object and abort the deletion process."
msgstr ""
#: assets/components/search/rdapTranslation.ts:104
msgid ""
"This grace period is provided after an object registration period is "
"explicitly extended (renewed) by the client. If the object is deleted by "
"the client during this period, the server provides a credit to the client "
"for the cost of the renewal."
msgstr ""
#: assets/components/search/rdapTranslation.ts:105
msgid ""
"The server set the status so that requests to delete the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:106
msgid ""
"The server set the status so that requests to renew the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:107
msgid ""
"The server set the status so that requests to transfer the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:108
msgid ""
"The server set the status so that requests to update the object (other than "
"to remove this status) MUST be rejected."
msgstr ""
#: assets/components/search/rdapTranslation.ts:109
msgid ""
"The server set the status so that DNS delegation information MUST NOT be "
"published for the object."
msgstr ""
#: assets/components/search/rdapTranslation.ts:110
msgid ""
"This grace period is provided after the successful transfer of object "
"registration sponsorship from one client to another client. If the object "
"is deleted by the client during this period, the server provides a credit "
"to the client for the cost of the transfer."
msgstr ""
#: assets/components/search/rdapTranslation.ts:111
msgid ""
"The object instance has been allocated administratively (i.e., not for use "
"by the recipient in their own right in operational networks)."
msgstr ""
#: assets/components/search/rdapTranslation.ts:112
msgid ""
"The object instance has been allocated to an IANA special-purpose address "
"registry."
msgstr ""
#: assets/components/search/DomainResult.tsx:28
msgid "EPP Status Codes"
msgstr ""
@@ -150,269 +472,11 @@ msgstr ""
msgid "Entities"
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:7
msgid ""
"Signifies that the data of the object instance has been found to be "
"accurate."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:8
msgid "Renewal or reregistration of the object instance is forbidden."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:9
msgid "Updates to the object instance are forbidden."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:10
msgid "Transfers of the registration from one registrar to another are forbidden."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:11
msgid "Deletion of the registration of the object instance is forbidden."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:12
msgid ""
"The registration of the object instance has been performed by a third "
"party. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:13
msgid ""
"The information of the object instance is not designated for public "
"consumption. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:14
msgid ""
"Some of the information of the object instance has not been made available "
"and has been removed. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:15
msgid ""
"Some of the information of the object instance has been altered for the "
"purposes of not readily revealing the actual information of the object "
"instance. This is most commonly applied to entities."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:16
msgid ""
"The object instance is associated with other object instances in the "
"registry. This is most commonly used to signify that a nameserver is "
"associated with a domain or that an entity is associated with a network "
"resource or domain."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:17
msgid ""
"The object instance is in use. For domain names, it signifies that the "
"domain name is published in DNS. For network and autnum registrations, it "
"signifies that they are allocated or assigned for use in operational "
"networks."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:18
msgid "The object instance is not in use."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:19
msgid ""
"Changes to the object instance cannot be made, including the association of "
"other object instances."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:20
msgid ""
"A request has been received for the creation of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:21
msgid ""
"A request has been received for the renewal of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:22
msgid ""
"A request has been received for the transfer of the object instance, but "
"this action is not yet complete."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:23
msgid ""
"A request has been received for the update or modification of the object "
"instance, but this action is not yet complete."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:24
msgid ""
"A request has been received for the deletion or removal of the object "
"instance, but this action is not yet complete. For domains, this might mean "
"that the name is no longer published in DNS but has not yet been purged "
"from the registry database."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:25
msgid ""
"This grace period is provided after the initial registration of the object. "
"If the object is deleted by the client during this period, the server "
"provides a credit to the client for the cost of the registration."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:26
msgid ""
"This grace period is provided after an object registration period expires "
"and is extended (renewed) automatically by the server. If the object is "
"deleted by the client during this period, the server provides a credit to "
"the client for the cost of the auto renewal."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:27
msgid "The client requested that requests to delete the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:28
msgid ""
"The client requested that the DNS delegation information MUST NOT be "
"published for the object."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:29
msgid "The client requested that requests to renew the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:30
msgid "The client requested that requests to transfer the object MUST be rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:31
msgid ""
"The client requested that requests to update the object (other than to "
"remove this status) MUST be rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:32
msgid ""
"An object is in the process of being restored after being in the redemption "
"period state."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:33
msgid ""
"A delete has been received, but the object has not yet been purged because "
"an opportunity exists to restore the object and abort the deletion process."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:34
msgid ""
"This grace period is provided after an object registration period is "
"explicitly extended (renewed) by the client. If the object is deleted by "
"the client during this period, the server provides a credit to the client "
"for the cost of the renewal."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:35
msgid ""
"The server set the status so that requests to delete the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:36
msgid ""
"The server set the status so that requests to renew the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:37
msgid ""
"The server set the status so that requests to transfer the object MUST be "
"rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:38
msgid ""
"The server set the status so that requests to update the object (other than "
"to remove this status) MUST be rejected."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:39
msgid ""
"The server set the status so that DNS delegation information MUST NOT be "
"published for the object."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:40
msgid ""
"This grace period is provided after the successful transfer of object "
"registration sponsorship from one client to another client. If the object "
"is deleted by the client during this period, the server provides a credit "
"to the client for the cost of the transfer."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:41
msgid ""
"The object instance has been allocated administratively (i.e., not for use "
"by the recipient in their own right in operational networks)."
msgstr ""
#: assets/components/search/rdapStatusCodeDetailTranslation.ts:42
msgid ""
"The object instance has been allocated to an IANA special-purpose address "
"registry."
msgstr ""
#: assets/components/search/DomainSearchBar.tsx:26
#: assets/components/tracking/watchlist/WatchlistForm.tsx:113
msgid "This domain name does not appear to be valid"
msgstr ""
#: assets/components/search/EntitiesList.tsx:10
msgid "Registrant"
msgstr ""
#: assets/components/search/EntitiesList.tsx:11
msgid "Technical"
msgstr ""
#: assets/components/search/EntitiesList.tsx:12
msgid "Administrative"
msgstr ""
#: assets/components/search/EntitiesList.tsx:13
msgid "Abuse"
msgstr ""
#: assets/components/search/EntitiesList.tsx:14
msgid "Billing"
msgstr ""
#: assets/components/search/EntitiesList.tsx:15
msgid "Registrar"
msgstr ""
#: assets/components/search/EntitiesList.tsx:16
msgid "Reseller"
msgstr ""
#: assets/components/search/EntitiesList.tsx:17
msgid "Sponsor"
msgstr ""
#: assets/components/search/EntitiesList.tsx:18
msgid "Proxy"
msgstr ""
#: assets/components/search/EntitiesList.tsx:19
msgid "Notifications"
msgstr ""
#: assets/components/search/EntitiesList.tsx:20
msgid "Noc"
msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:40
msgid "Provider"
msgstr ""