Skip to content

Conversation

vitorvasc
Copy link
Member

Description

Contributes to #7942

Updates the drifted content for:

  • content/pt/docs/contributing/blog.md
  • content/pt/docs/contributing/localization.md

content/pt/docs/contributing/blog.md

Diff content/pt/docs/contributing/blog.md
❯ npm run check:i18n -- -d content/pt/docs/contributing/blog.md

> check:i18n
> scripts/check-i18n.sh -d content/pt/docs/contributing/blog.md

Processing paths: content/pt/docs/contributing/blog.md
diff --git a/content/en/docs/contributing/blog.md b/content/en/docs/contributing/blog.md
index 4adefe160..38728b19a 100644
--- a/content/en/docs/contributing/blog.md
+++ b/content/en/docs/contributing/blog.md
@@ -19,6 +19,12 @@ Note, that the focus of maintainers and approvers of the OpenTelemetry Website
 is to improve the documentation of the project, so your blog post will have a
 lower priority for review.
 
+## Social Media Content Request
+
+If you want to request the publication of content on the social media channels
+of the OpenTelemetry project, which aren't a blog post,
+[use this form](https://github.com/open-telemetry/community/issues/new?template=social-media-request.yml).
+
 ## Before submitting a blog post
 
 Blog posts should not be commercial in nature and should consist of original
@@ -34,6 +40,7 @@ Verify that your intended content broadly applies to the OpenTelemetry Community
 - Updates from Special Interest Groups
 - Tutorials and walkthroughs
 - OpenTelemetry Integrations
+- [Call for Contributors](#call-for-contributors)
 
 Unsuitable content includes:
 
@@ -64,6 +71,18 @@ quickly.
 If your issue has everything needed, a maintainer will verify that you can go
 ahead and submit your blog post.
 
+### Call for Contributors
+
+If you are proposing the creation of a new project or SIG, or if you are
+offering a donation to the OpenTelemetry project, you will need additional
+contributors to be successful with your proposal. To help you with that, you can
+propose a blog post that is a "Call for Contributors" (CfC).
+
+This requires, that you follow the processes for
+[new projects](https://github.com/open-telemetry/community/blob/main/project-management.md)
+and
+[donations](https://github.com/open-telemetry/community/blob/main/guides/contributor/donations.md).
+
 ## Submit a blog post
 
 You can submit a blog post either by forking this repository and writing it
@@ -127,3 +146,19 @@ The OpenTelemetry blog doesn't follow a strict publication timeline, this means:
   publication at or before a certain date.
 - Certain blog posts (major announcements) take precedence and may be published
   before your blog post.
+
+## Cross-posting blog content
+
+If you'd like to share your OpenTelemetry blog post on another platform, you're
+welcome to do so. Just keep the following in mind:
+
+- Decide which version will be the canonical post (typically the original
+  OpenTelemetry blog post).
+- Other versions of the post should:
+  - Clearly mention that the original post appeared on the OpenTelemetry blog.
+  - Include a link back to the original at the top or bottom of the page.
+  - Set a canonical URL tag pointing to the OpenTelemetry blog post, if the
+    platform supports it.
+
+This helps ensure proper attribution, supports SEO best practices, and avoids
+content duplication.
DRIFTED files: 1 out of 1

content/pt/docs/contributing/localization.md

Diff content/pt/docs/contributing/localization.md
❯ npm run check:i18n -- -d content/pt/docs/contributing/localization.md

> check:i18n
> scripts/check-i18n.sh -d content/pt/docs/contributing/localization.md

Processing paths: content/pt/docs/contributing/localization.md
diff --git a/content/en/docs/contributing/localization.md b/content/en/docs/contributing/localization.md
index 10d6a9e49..cc79df032 100644
--- a/content/en/docs/contributing/localization.md
+++ b/content/en/docs/contributing/localization.md
@@ -3,7 +3,7 @@ title: Site localization
 description: Creating and maintaining site pages in non-English localizations.
 linkTitle: Localization
 weight: 25
-cSpell:ignore: shortcodes
+cSpell:ignore: Dowair shortcodes
 ---
 
 The OTel website uses Hugo's [multilingual framework] to support page
@@ -45,7 +45,6 @@ guidance offered in this section.
 - **Translate**:
   - **File or directory** names of resources in this repository
   - [Links](#links), this includes [heading IDs](#headings) [^*]
-  - Markdown [link definition labels](#link-labels)
   - Inline code-spans like these: `inline code example`
   - Markdown elements marked as `notranslate` (usually as a CSS class), in
     particular for [headings](#headings)
@@ -96,8 +95,11 @@ path would become `/ja/docs/some-page` when rendered from a Japanese page.
 
 ### Link definition labels {#link-labels}
 
-Do **not** translate [labels] of Markdown [link definitions][]. Instead, rewrite
-the label as translated link text. For example, consider the following Markdown:
+Locale authors can choose or not to translate [labels] of Markdown [link
+definitions][]. If you choose to keep the English label, then follow the
+guidance given in this section.
+
+For example, consider the following Markdown:
 
 ```markdown
 [Hello], world! Welcome to the [OTel website][].
@@ -148,14 +150,14 @@ As of February 2025, we are in the process of migrating from shortcodes to
 {{% /alert %}}
 
 Some of the base shortcodes contain English text that you might need to localize
--- this is particularly true of those contained in [layouts/shortcodes/docs].
+-- this is particularly true of those contained in [layouts/_shortcodes/docs].
 
 If you need to create a localized version of a shortcode, place it under
-`layouts/shortcodes/xx`, where `xx` is your localization's language code. From
+`layouts/_shortcodes/xx`, where `xx` is your localization's language code. From
 there, use the same relative path as the original base shortcode.
 
-[layouts/shortcodes/docs]:
-  https://github.com/open-telemetry/opentelemetry.io/tree/main/layouts/shortcodes/docs
+[layouts/_shortcodes/docs]:
+  https://github.com/open-telemetry/opentelemetry.io/tree/main/layouts/_shortcodes/docs
 
 ## Keeping track of localized-page drift {#track-changes}
 
@@ -291,29 +293,60 @@ For more details about the script, run `npm run check:i18n -- -h`.
 
 ## New localizations
 
-### New localization team
+Interested in starting a new localization for the OTel website? Reach out to
+maintainers to express your interest, for example through a GitHub discussion or
+via the Slack `#otel-docs-localization` channel. This section explains the steps
+involved in starting a new localization.
+
+{{% alert title="Note" %}}
+
+You don't have to be an existing contributor to the OpenTelemetry project to
+start a new localization. However, you cannot be added as a member of the
+[OpenTelemetry GitHub organization](https://github.com/open-telemetry/) or as a
+member of the approvers group for your localization until you satisfy the
+requirements for becoming an established member and approver as outlined in the
+[membership guidelines][].
+
+Before you earn approver status, you can indicate your approval of a
+localization PR by adding an "LGTM" (Looks Good To Me) comment. During this
+startup phase, maintainers will treat your reviews as if you are an approver
+already.
 
-To start a new localization for the OpenTelemetry website you need:
+[membership guidelines]:
+  https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md
+
+{{% /alert %}}
+
+### 1. Assemble a localization team {#team}
+
+Creating a localization is about growing an active and supportive community. To
+start a new localization for the OpenTelemetry website you need:
 
 1. A **localization mentor** who is familiar with your language, such as an
-   [active approver][] of the [CNCF Glossary][], or the [Kubernetes website][].
+   [active approver][] of the [CNCF Glossary][] or the [Kubernetes website][].
 2. At least two potential contributors.
 
 [active approver]: https://github.com/cncf/glossary/blob/main/CODEOWNERS
 [CNCF Glossary]: https://glossary.cncf.io/
 [Kubernetes website]: https://github.com/kubernetes/website
 
-Once you are ready:
-
-1. Create a [new issue][] to share your interest to contribute.
+### 2. Localization kickoff: create an issue {#kickoff}
 
-2. Add the GitHub handles of the mentor and potential contributors.
+With a [localization team](#team) in place or coming together, create an issue
+with the task list given below:
 
-3. Look up the official [ISO 639-1 code][] for the language you want to add.
+1. Look up the official [ISO 639-1 code][] for the language you want to add.
    We'll refer to this language code as `LANG_ID` in the remainder of this
-   section.
+   section. If you have doubts about which tag to use, especially when it comes
+   to choosing a subregion, ask maintainers.
+
+   [ISO 639-1 code]: https://en.wikipedia.org/wiki/ISO_639-1
 
-4. Add the following task list to your issue's opening comment:
+2. Identify the GitHub handles of the
+   [mentor and potential contributors](#team).
+
+3. Create a [new issue][] containing the following task list in the opening
+   comment:
 
    ```markdown
    - [ ] Language info:
@@ -325,42 +358,56 @@ Once you are ready:
    - [ ] Read through
          [Localization](https://opentelemetry.io/docs/contributing/localization/)
          and all other pages in the Contributing section
-   - [ ] Localize site homepage to YOUR_LANGUAGE_NAME
+   - [ ] Localize site homepage (only) to YOUR_LANGUAGE_NAME and submit a PR.
+         For details, see
+         [Localize the homepage](https://opentelemetry.io/docs/contributing/localization/#homepage).
    - [ ] OTel maintainers:
      - [ ] Update `hugo.yaml`
      - [ ] Configure cSpell and other tooling support
      - [ ] Create an issue label for `lang:LANG_ID`
      - [ ] Create org-level group for `LANG_ID` approvers
      - [ ] Update components owners for `content/LANG_ID`
+   - [ ] Create an issue to track the localization of the **glossary**. Add the
+         issue number here. For details, see
+         [Localize the glossary](https://opentelemetry.io/docs/contributing/localization/#glossary).
    ```
 
-5. [Submit a pull request](../pull-requests/) with a translation of the website
-   [homepage], and _nothing else_, in the file `content/LANG_ID/_index.md`.
-   Ensure that maintainers have the necessary permissions to edit your PR, since
-   they will add additional changes to your PR that are required to get your
-   localization project started.
+### 3. Localize the homepage {#homepage}
+
+[Submit a pull request](../pull-requests/) with a translation of the website
+[homepage], and _nothing else_, in the file `content/LANG_ID/_index.md`. Ensure
+that maintainers have the necessary permissions to edit your PR, since they will
+add additional changes to your PR that are required to get your localization
+project started.
 
-[ISO 639-1 code]: https://en.wikipedia.org/wiki/ISO_639-1
 [homepage]:
   https://github.com/open-telemetry/opentelemetry.io/blob/main/content/en/_index.md
 
 After your first PR is merged, maintainers will set up the issue label, the
 org-level group and the component owners.
 
-{{% alert title="Note" %}}
+### 4. Localize the glossary {#glossary}
 
-You don't have to be an existing contributor to the OpenTelemetry project, to
-start a new localization. However, you will not be added as a member of the
-[OpenTelemetry GitHub organization](https://github.com/open-telemetry/) or as a
-member of the approvers group for your localization. You will need to satisfy
-the requirements for becoming an established member and approver as outlined in
-the
-[membership guidelines](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md).
+The second page to localize is the [Glossary](/docs/concepts/glossary/). This is
+a **critical** page for localized readers, since it defines the key terms used
+in observability and OpenTelemetry in particular. This is especially critical if
+no such terms exist in your language.
 
-When starting the localization project, maintainers will treat your reviews as
-if you are an approver already.
+For guidance, see the [video][ali-d-youtube] of Ali Dowair's talk at Write the
+Docs 2024: [The art of translation: How to localize technical
+content][ali-dowair-2024].
 
-{{% /alert %}}
+[ali-dowair-2024]:
+  https://www.writethedocs.org/conf/atlantic/2024/speakers/#speaker-ali-dowair-what-s-in-a-word-lessons-from-localizing-kubernetes-documentation-to-arabic-ali-dowair
+[ali-d-youtube]: https://youtu.be/HY3LZOQqdig
+
+### 5. Localize the remaining site pages
+
+With terminology established, you can now localize the remaining site pages.
+
+When submitting PRs, keep them small: preferably limited to one file or a few
+small files. Smaller PRs are easier to review and so typically get merged more
+quickly.
 
 ### OTel maintainer checklist
 
@@ -399,18 +446,34 @@ If no dictionary is available, then skip the rest of this subsection. Otherwise:
 - Prettier support: if `LANG_ID` isn't well supported by Prettier, add ignore
   rules to `.prettierignore`
 
-## English-language maintainer guidance
+## Approver and maintainer guidance
+
+### PRs with semantic changes should not span locales {#prs-should-not-span-locales}
 
-### Avoid PRs with doc changes across locales {#prs-should-not-span-locales}
+Approvers should ensure that PRs making **semantic** changes to doc pages do not
+span multiple locales. A semantic change is one that impacts the _meaning_ of
+the page content. Our docs [localization process](.) ensures that locale
+approvers will, in time, review the English-language edits to determine if the
+changes are appropriate for their locale, and how best to incorporate them into
+their locale. If changes are necessary, the locale approvers will make them via
+their own locale-specific PRs.
 
-Contributors should avoid submitting PRs that make doc changes spanning locales.
-The only exception is documented in the next section.
+### Purely editorial changes across locales are OK {#patch-locale-links}
 
-### When link checking fails for non-English pages {#patch-locale-links}
+**Purely editorial** page updates are changes that **do not** affect the
+existing content and can span multiple locales. These include:
 
-Sometimes changes to English language documentation can result in link-check
-failures for non-English locales. This happens when documentation pages are
-moved or deleted.
+- **Link maintenance**: Fixing broken link paths when pages are moved or
+  deleted.
+- **Resource updates**: Updating links to moved external resources.
+- **Targeted content additions**: Adding specific new definitions or sections to
+  files that have drifted, when updating the entire file isn't feasible.
+
+#### Link fixes and resource updates {#link-fixes-and-resource-updates}
+
+For example, sometimes changes to English language documentation can result in
+link-check failures for non-English locales. This happens when documentation
+pages are moved or deleted.
 
 In such situations, make the following updates to each non-English page that has
 a path that fails link checking:
@@ -421,6 +484,39 @@ a path that fails link checking:
 - Make no other changes to the file.
 - Rerun `npm run check:links` and ensure that no link failures remain.
 
+When an _external link_ to a **moved** (but otherwise semantically
+**unchanged**) resource (such as a GitHub file) results in a link-check failure,
+consider:
+
+- Removing the broken link from the refcache
+- Updating the link across all locales using the method described earlier in
+  this section.
+
+#### Targeted content additions to drifted files {#targeted-content-additions}
+
+When adding specific new content to a localized file that has drifted from the
+English version, you may choose to make a targeted update rather than updating
+the entire file. For example, when a new glossary term such as "cardinality" is
+added to the English glossary, you can add just that term to the localized
+glossary without addressing other drifted content.
+
+Here's an example of the workflow for this targeted update:
+
+- Add only the "cardinality" definition block to the localized glossary file
+- Update the front matter by adding `# patched` as a comment at the end of the
+  `default_lang_commit` line
+- Leave all other existing content unchanged
+- In the PR description, clearly document:
+  - The specific content added ("cardinality" definition)
+  - That the file remains drifted for other content
+  - The rationale for the targeted update (e.g., "Providing critical new
+    terminology to localized readers without requiring full file
+    synchronization")
+
+This approach enables incremental improvements to localized content while
+maintaining awareness that the file still requires future attention for complete
+synchronization with the English version.
+
 [front matter]: https://gohugo.io/content-management/front-matter/
 [main]: https://github.com/open-telemetry/opentelemetry.io/commits/main/
 [maintainers]: https://github.com/orgs/open-telemetry/teams/docs-maintainers
DRIFTED files: 1 out of 1

@vitorvasc vitorvasc requested a review from a team as a code owner October 8, 2025 10:43
@vitorvasc vitorvasc mentioned this pull request Oct 8, 2025
31 tasks
@otelbot-docs otelbot-docs bot requested review from a team October 8, 2025 10:43
@vitorvasc vitorvasc added the sig-approval-missing Co-owning SIG didn't provide an approval label Oct 8, 2025
@vitorvasc vitorvasc added ready-to-be-merged This PR is ready to be merged by a maintainer and removed sig-approval-missing Co-owning SIG didn't provide an approval labels Oct 13, 2025
@otelbot-docs otelbot-docs bot requested a review from a team October 14, 2025 06:58
@theletterf theletterf enabled auto-merge October 14, 2025 07:00
@theletterf theletterf added this pull request to the merge queue Oct 14, 2025
Merged via the queue into open-telemetry:main with commit b88bc69 Oct 14, 2025
22 checks passed
svrnm pushed a commit to svrnm/opentelemetry.io that referenced this pull request Oct 16, 2025
…and content/pt/docs/contributing/localization.md (open-telemetry#8027)

Signed-off-by: Vitor Vasconcellos <[email protected]>
Co-authored-by: Fabrizio Ferri-Benedetti <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lang:pt ready-to-be-merged This PR is ready to be merged by a maintainer

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants