Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
@nhost/google-translation
Advanced tools
Readme
This package creates a Google Translation GraphQL API.
query {
# Detect the initial language automatically, and set the destination language to the user's default, or the server's default
first: googleTranslation(text: "le service est disponible")
# Specify the destination language
second: googleTranslation(text: "le service est disponible", to: "es")
# Specify both initial and destination languages
third: googleTranslation(text: "le service est disponible", from: "fr", to: "it")
}
Result:
{
"data": {
"first": "service is available",
"second": "el servicio está disponible",
"third": "il servizio è disponibile"
}
}
You can also user the Google Translation GraphQL API with Hasura Remote Schema Relationships and connect data from your database and the Google Translation API. This allows you to request data from your database and the Google Translation API in a single GraphQL query:
query {
books {
title # a text column in the books table
translatedTitle # title translated into the user's default locale
italianTitle: translatedTitle(to: "it") # title translated into italian
}
}
Result:
{
"data": {
"books": [
{
"title": "Guerre et Paix",
"translatedTitle": "War and peace",
"italianTitle": "Guerra e Pace"
},
{
"title": "Le Bruit et la Fureur",
"translatedTitle": "The Sound and the Fury",
"italianTitle": "Il suono e la furia"
}
]
}
}
npm install @nhost/google-translation
Create a new Serverless Function functions/graphql/google-translation.ts
:
import { createGoogleTranslationGraphQLServer } from '@nhost/google-translation'
export default createGoogleTranslationGraphQLServer()
You can run the Google Translation GraphQL API in any JS environment because it's built using GraphQL Yoga.
Add GOOGLE_TRANSLATION_PROJECT_ID
as an environment variable. If you're using Nhost, add GOOGLE_TRANSLATION_API_KEY
to .env.development
like this:
GOOGLE_TRANSLATION_PROJECT_ID=project-id
GOOGLE_TRANSLATION_API_KEY=xxxxxxx
Learn more about Google Projects and API keys.
nhost up
Learn more about the Nhost CLI.
Test the Google Translation GraphQL API in the browser:
https://local.functions.nhost.run/v1/graphql/google-translation
Add the Google Translation GraphQL API as a Remote Schema in Hasura.
URL
https://local.functions.nhost.run/v1/graphql/google-translation
Headers
x-nhost-webhook-secret: NHOST_WEBHOOK_SECRET (from env var)
You can use the GraphQL API to translate values from other columns.
It is possible to configure a default language by setting the getDefaultLanguage
option, which is a function that gets the context as first argument, and returns either the language code, or null
.
The getDefaultLanguage
option is preconfigured to get the user locale from the authenticated user, using the auth.users.locale
value as per defined in Hasura Auth.
If the getDefaultLanguage
option returns null
, the default language falls back to the defaultLanguage
string option, which is preconfigured as en
.
The canTranslate
options is a function that accepts the GraphQL Yoga context as an argument, augmented with the useLanguage
string value that has been set by the getDefaultLanguage
method.
By default, the canTranslate
method returns true when:
x-nhost-webhook-secret
header is equal to the NHOST_WEBHOOK_SECRET
environment variable; andx-hasura-admin-secret
is passed on as a header or x-hasura-role
is admin
), OR the user is authenticated (the request Authorization
has a valid JWT)Other options are available to configure the GraphQL server:
projectId
and apiKey
parameters. When not set, they will fall back respectively to process.env.GOOGLE_TRANSLATION_PROJECT_ID
and process.env.GOOGLE_TRANSLATION_API_KEY
.graphiql
defaults to true
. Set it to false
if you don't want to serve the GraphiQL UI.cors
configuration. See GraphQL Yoga documentation for further information.Install dependencies:
pnpm install
Start the development server:
pnpm run start
The GraphQL Server will reload every time the code changes.
Open GraphiQL:
FAQs
Google Translation GraphQL API
The npm package @nhost/google-translation receives a total of 0 weekly downloads. As such, @nhost/google-translation popularity was classified as not popular.
We found that @nhost/google-translation demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.