ਸਾਡੇ ਕੋਲ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਹੋਰ ਇਕ ਪੰਨਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਭਾਸ਼ਾ ਬਦਲਣਾ ਚਾਹੋਗੇ?

We have another page in English. Would you like to change languages?

ਹਾਂ / Yes ਨਹੀਂ / No

ਪੰਨੇ

ਹਰ ਪੰਨ੍ਹੇ ਦੇ ਕੁਝ ਹਿੱਸੇ ਹੁੰਦੇ ਹਨ। ਉਨ੍ਹਾਂ ਵਿੱਚ ਬਨਾਵਟ, ਸਮੱਗਰੀ, ਅਤੇ ਭਾਸ਼ਾ ਵਿਕਲਪ ਸ਼ਾਮਲ ਹਨ।

ਲੇਆਉਟ ਉਨ੍ਹਾਂ ਸਮੱਗਰੀਆਂ ਦਾ HTML ਹੈ ਜੋ ਸਮੱਗਰੀ ਨੂੰ ਘੇਰਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਹੈੱਡਰ, ਫੁੱਟਰ ਅਤੇ ਕੋਈ ਵੀ ਹੋਰ ਤੱਤ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ ਜੋ ਸਾਰੇ ਪੇਜਾਂ 'ਤੇ ਸਥਿਰ ਹਨ। ਉਹ ਲੇਆਉਟ ਕਿਸੇ ਹੋਰ ਪੇਜ ਵਿੱਚ TypeScript ਫੰਕਸ਼ਨ ਦੇ ਰੂਪ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ।

ਸਮੱਗਰੀ ਉਹ HTML ਹੈ ਜੋ ਹਰ ਪੇਜ ਲਈ ਵਿਲੱਖਣ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਹੇਠਾਂ ਦਿੱਖਾਏ ਗਏ ਤਰੀਕੇ ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਅਨੁਵਾਦਾਂ ਦਾ ਸਹਾਰਾ ਦੇਣ ਲਈ i18Next.t ਦੇ ਕੁੱਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ।

ਭਾਸ਼ਾਵਾਂ ਦੇ ਵਿਕਲਪ ਉਹ ਵੱਖ ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਇਹ ਪੰਨਾ ਉਪਲਬਧ ਹੈ। ਅਸੀਂ ਇਨ੍ਹਾਂ ਨੂੰ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ। ਇਹ ਰੂਟ ਅਤੇ ਉਸ ਦੀ ਵਿਅਕਤੀਗਤ ਪੰਨਾ ਫੰਕਸ਼ਨ ਨੂੰ ਜੋੜਦਾ ਹੈ। URLs ਦੇ ਅਨੁਵਾਦ ਇਸ ਵਿੱਚ ਸੰਭਾਲੇ ਜਾਂਦੇ ਹਨ।

TypeScript - pages/ExamplePage.ts
import i18next from "../GlobalSitesCore/i18n";
import { Layout } from "../Layout";
import { RenderProps, renderLanguageFiles } from "../GlobalSitesCore/languages";
import { FileResult } from "../GlobalSitesCore/FileResult";

export async function ExamplePagePages(): Promise<FileResult[]> {
  return renderLanguageFiles({
    subDirectoryInEnglish: undefined,
    fileNameInEnglish: "example-page",
    includeInSitemap: true,
    render: (props) => ExamplePage(props),
  });
}

interface ExamplePageProps extends RenderProps {}

export function ExamplePage(props: ExamplePageProps): string {
  var title = i18next.t(`Example Page`);
  var metaDescription = i18next.t(`This is an example page.`);

  return Layout({
    lang: props.option.code,
    title: title,
    description: metaDescription,
    languageOptions: props.allOptions,
    content: /* HTML */ `
      <h1>${title}</h1>
      <p>${metaDescription}</p>
      <!-- Add more content as needed -->
    `,
  });
}