Skip to content

Translation to Persian #50

Open
Open

Description

@jowharshamshiri

Hi there 👋

Let's translate the course to Persian so that the whole community can benefit from this resource 🌎!

Before you get started please take a minute to read the latest version of our evolving translation guidelines (T). It is important that we maintain a common tone in our collective work, while contributing with our separate creative voices.

We have a glossary page (G) where we store our latest choice of Persian equivalents for words. This page may be subject to change with every PR and its review discussion. If there are changes, we will mention here that the glossary file has been updated. We need to retroactively apply the changes to our sections.

Check here for general instructions on contributing.

Here's the workflow for contributions:

  1. Please fork the Hugging Face course to your profile.
  2. Clone your fork to your local machine.
  3. Use this issue page for general discussion on word choices and whatnot.
  4. Fetch frequently from upstream to your fork and keep your local working tree updated.
  5. It is perfectly fine to link to your fork on this page for discussions.
  6. When you have the first draft of a page(s) done commit back to your fork and open a PR for that page(s) on the Hugging Face course repo.
    (Huggingface course/main branch <- Your fork/main or whatever branch you have)
  7. Ask someone to help you review the page(s) there. Commit the changes back to your fork and they will automatically be appended to the PR.
  8. If you have updates to the glossary try to include the stakeholders in the discussion(check commit history) and when done mention the changes on this page so we can all apply the changes retroactively to our sections.
  9. When done with the review, ask @lewtun to merge.

Below are the chapters and files that need translating - let us know here if you'd like to translate any and we'll add your name to the list. Once you're finished, open a pull request and tag this issue by including #issue-number in the description, where issue-number is the number of this issue.

🙋 If you'd like others to help you with the translation, you can also post in our forums or tag @_lewtun on Twitter to gain some visibility.

Chapters

0 - Setup

1 - Transformer models

2 - Using 🤗 Transformers

3 - Fine-tuning a pretrained model

4 - Sharing models and tokenizers

5 - The 🤗 Datasets library

6 - The 🤗 Tokenizers library

7 - Main NLP tasks

8 - How to ask for help

Events

Activity

  1. schoobani commented on Mar 29, 2022

    @schoobani
    Contributor

    Hey, I would like to help on the project and translate the chapter 1.
    I will do my best to finalise it until the end of April.

  2. schoobani commented on Mar 29, 2022

    @schoobani
    Contributor

    @jowharshamshiri per, fas and fa can be language codes for persian. I suggest using fa.

  3. jowharshamshiri commented on Mar 29, 2022

    @jowharshamshiri
    ContributorAuthor
  4. schoobani commented on Mar 29, 2022

    @schoobani
    Contributor

    I am also delighted to contribute.

    I forked and added the fa directory and the _toctree.yml file. you can track my updates in here:
    https://github.com/schoobani/course/tree/main/chapters/fa

  5. jowharshamshiri commented on Mar 29, 2022

    @jowharshamshiri
    ContributorAuthor
  6. lewtun commented on Mar 30, 2022

    @lewtun
    Member

    Hi @schoobani and @jowharshamshiri thank you so much for this initiative and for offering to help! I've added your name @schoobani to the Chapter 1 list. In case it's easier, you don't have to translate the whole chapter in one go - feel free to just add the sections as you work through them!

  7. jowharshamshiri commented on Mar 30, 2022

    @jowharshamshiri
    ContributorAuthor

    @schoobani I propose we use this Persian style guide to ensure uniform style across all of our work. Looks intimidating but has has a lot of whitespace and is the best I could find. You don't need to read it, just refer to it for common Persian writing guidelines like prefixes and suffixes and spacing and such.
    https://apll.ir/wp-content/uploads/2018/10/D-1394.pdf

  8. jowharshamshiri commented on Mar 30, 2022

    @jowharshamshiri
    ContributorAuthor

    @schoobani I propose that in Persian text we replace the use of the Huggingface emoji with the transliteration of the word 'Huggingface' in Persian(هاگینگ‌فیس). What do you think? Emoji's don't lend themselves easily to Persian text. @lewtun I don't know if that is against Huggingface policy, love to hear your thoughts on this.

  9. jowharshamshiri commented on Mar 31, 2022

    @jowharshamshiri
    ContributorAuthor

    @lewtun I added my own name to the Chapter 2 list.

  10. lewtun commented on Mar 31, 2022

    @lewtun
    Member

    @schoobani I propose that in Persian text we replace the use of the Huggingface emoji with the transliteration of the word 'Huggingface' in Persian(هاگینگ‌فیس). What do you think? Emoji's don't lend themselves easily to Persian text. @lewtun I don't know if that is against Huggingface policy, love to hear your thoughts on this.

    Thanks for raising this interesting point! If emoji's aren't a good fit for Persian then I think it's perfectly fine to transliterate "Hugging Face" or "Huggingface" if the latter is easier :)

  11. lewtun commented on Apr 1, 2022

    @lewtun
    Member

    Hello @schoobani has a nice PR here: #71

    Would a Persian speaker here be willing to have a quick review as I unfortunately don't speak Farsi 🙈 ?

  12. schoobani commented on Apr 1, 2022

    @schoobani
    Contributor

    @schoobani I propose that in Persian text we replace the use of the Huggingface emoji with the transliteration of the word 'Huggingface' in Persian(هاگینگ‌فیس). What do you think? Emoji's don't lend themselves easily to Persian text. @lewtun I don't know if that is against Huggingface policy, love to hear your thoughts on this.

    @jowharshamshiri I think using the emoji 🤗 is compatible with the Persian text. Personally for me, seeing the emoji in documents indicates a relation with huggingface features. We can decide about it after finalizing the translations.

  13. jowharshamshiri commented on Apr 2, 2022

    @jowharshamshiri
    ContributorAuthor

    @schoobani I propose that in Persian text we replace the use of the Huggingface emoji with the transliteration of the word 'Huggingface' in Persian(هاگینگ‌فیس). What do you think? Emoji's don't lend themselves easily to Persian text. @lewtun I don't know if that is against Huggingface policy, love to hear your thoughts on this.

    @jowharshamshiri I think using the emoji hugs is compatible with the Persian text. Personally for me, seeing the emoji in documents indicates a relation with huggingface features. We can decide about it after finalizing the translations.

    I think we should make these choices as soon as possible, to minimize editing at the end. This one seems like a simple replace, but there will be so many little details like it that when taken together, will make for a quality translation and let us avoid a lot of unnecessary headache. That being said, these are my reasons for transliteration:

    • This is a substitute for brand name. We should transliterate brand names, except when we have a specific reason not to. I do think your argument is valid that this is an immediate visual reference to a Hugging Face-related feature, but is this reason enough? I don't think so.
    • Mixing non-Persian characters into Persian makes for a fragmentary and incomprehensible text. It should be avoided where at all possible and tolerated where necessary. Programming namespaces are one example that we have to tolerate. The effect might not be noticeable in this small choice, but I promise you is very noticeable for a new reader. It's like when I look at a painting and can't really describe why I like it. Art historians can put words to my feelings, but I do feel them nevertheless. Persian text should flow naturally--this breaks that flow.

    Happy to hear your thoughts on this. :)

  14. jowharshamshiri commented on Apr 2, 2022

    @jowharshamshiri
    ContributorAuthor

    @schoobani I propose that in Persian text we replace the use of the Huggingface emoji with the transliteration of the word 'Huggingface' in Persian(هاگینگ‌فیس). What do you think? Emoji's don't lend themselves easily to Persian text. @lewtun I don't know if that is against Huggingface policy, love to hear your thoughts on this.

    Thanks for raising this interesting point! If emoji's aren't a good fit for Persian then I think it's perfectly fine to transliterate "Hugging Face" or "Huggingface" if the latter is easier :)

    I went with 'Huggingface'(one word) to demonstrate our use of a half-space in Persian transliteration to you. The English is ofc Hugging Face(two words) but when transliterated to Persian, this is one semantic unit and a loan word that we are introducing to Persian, which is reflected in the half-space. You don't expect people to use each transliterated word elsewhere in Persian on its own. :)

  15. 44 remaining items

  16. hamedonline commented on Apr 26, 2022

    @hamedonline
    Contributor

    Thank you dear @kambizG for your suggestions.
    I think the addition of "موقت" term to cache translation makes total sense and both "انبار موقت" and "ذخیره‌سازی موقت" sound good to me. We may consider adding them both to glossary and use either one according to the vibe of translated sentence.

    I'd also like to mention addition of a PR for a chapter4/page2 translation (as seen in above link). There are couple of proposals for glossary terms which I'll list again here for your valuable reviews (open to modify per your proposals):

    Modification proposals:

    • Instantiate -> ساختن / ایجاد نمونه شیء / نمونه‌سازی

    New addition proposals:

    • Pretrained Model(s) -> مدل(های) از پیش تعلیم دیده
    • Downstream Library1 -> کتابخانه پایین‌دستی وابسته
    • Mask Filling -> پر کردن جاهای خالی متن
    • Interface -> رابط کاربری
    • Bias -> سوگیری

    Footnotes

    1. Please see this link for more info on this: https://reflectoring.io/upstream-downstream ↩

  17. jowharshamshiri commented on Apr 27, 2022

    @jowharshamshiri
    ContributorAuthor

    Hi all, I'm done with the followings:
    Ch3-P1 - first review applied: https://github.com/kambizG/course/blob/main/chapters/fa/chapter3/1.mdx
    Ch3-P2 - needs review (can someone review please?): https://github.com/kambizG/course/blob/main/chapters/fa/chapter3/2.mdx

    Glossary:

    cache -> ذخیره‌کردن object -> شیء integer -> مقدار صحیح pre-processing -> پیش‌پردازش paraphrases -> جملات متناظر benchmark -> محک items -> اقلام argument -> آرگومان padding -> هم‌طول‌سازی instantiate -> تعریف کردن sequential Model -> مدل ترتیبی documentation -> مستندات label -> برچسب checkpoint -> چکپوینت

    Question:

    1. The "en" sections of text that need to be in-line with "fa" text sometimes do not preserve the order. For instance:
       [CLS] sentence1 [SEP] sentence2 [SEP]
       is shown as:
       بنابراین می‌بینیم که مدل انتظار دارد وقتی که دو جمله داریم ورودی‌ها به صورت [CLS] sentence1 [SEP] sentence2 [SEP] باشند.
    

    Any ideas?

    2. I suggest we create a channel somewhere (discord, slack, telegram, etc), where we can discuss some details? If you agree, just email me your phone numbers and I'll fix it.
    

    Hi Kambiz jan,
    On cache, @hamedonline suggested انبار کردن in his review of my page. It will be merged into the glossary once my PR is merged. That fit my use case fine, does it fit yours?
    On label, I used "نام دسته" in a segment on classification. Tell me if you think I should change it to برچسب دسته, personally I think برچسب is a little too literal a translation.
    On checkpoint, I used نقطه تعلیم. Initially it seemed weird to me but I didn't have a better alternative. But having used it in multiple places now, it's grown on me. It really clicked for me here in this sentence:

    این فایل حاوی مقادیری متادیتا، مانند نقطه مادر این نقطه تعلیم و نسخه‌‌ کتابخانه ترنسفورمرهای هاگینگ‌فِیس که آخرین بار برای ذخیره‌سازی این نقطه به کار رفته است، می‌باشد.
    

    What do you think?
    I'm not sure I understand the question you posed. Do you mean that when you mix English text with Persian it causes Github or maybe your editor to not render it correctly? If not ignore the rest of this. If the order is correct, regardless of what is shown, it renders correctly once it is deployed on Hugging Face docs. Also when you have ellipses(like in function names) or maybe even brackets like your case here in that English phrase, and put the whole doc in an RTL div, it causes the ellipses to render AFTER the phrase which is not what you want. That's why in T/point13 we talk about surrounding those phrases in a span. Sorry if I didn't understand this correctly.

    Hi Bahram jan,

    On Cache: when I searched "Cache vs Storage/Save" it said that "Cache" is often used when we mean "Temporary Storage", which makes sense. For instance we always say "caching in RAM" and Not storing. Thus, I believe "انبار کردن" conducts more semantic weight towards "long term storage", rather than short. However, even "ذخیره سازی" is not a good choice as it somehow interferes with "Storage" or "Save". Instead, I'd rather suggest we either go with transliteration "کَش" or "ذخیره سازی موقت" or "انبار موقت".

    On label, I believe we can even transliterate "لِیبِل" as it is first of all, a very common ML phrase and second, also commonly used in Persian. Otherwise, I believe I've seen "برچسب" in other technical CS translations to fa and would be nice to conform with the community.

    On Checkpoint: I honestly didn't really understand and don't have very strong opinion. In my case it was used when the author wanted to say "when you decide to choose the model ..."!

    Question 1: Sorry for the confusions. It's actually shown correct in here but not in my translation file. However, your interpretation is correct. When a section is a mixed of fa and en, sometimes the en part gets incorrectly re-ordered. For example "[CLS] sentence1 [SEP] sentence2 [SEP]" is shown as "sentence1 [SEP] sentence2 [SEP] [CLS]", the [CLS] goes to the end of the phrase. As you correctly mentioned this is also the case for parentheses, e.g., "map()" converts to "()map"!

    I defer to you on what we do with label and cache @kambizG jan.

  18. jowharshamshiri commented on Apr 27, 2022

    @jowharshamshiri
    ContributorAuthor

    Thank you dear @kambizG for your suggestions. I think the addition of "موقت" term to cache translation makes total sense and both "انبار موقت" and "ذخیره‌سازی موقت" sound good to me. We may consider adding them both to glossary and use either one according to the vibe of translated sentence.

    I'd also like to mention addition of a PR for a chapter4/page2 translation (as seen in above link). There are couple of proposals for glossary terms which I'll list again here for your valuable reviews (open to modify per your proposals):

    Modification proposals:

    * Instantiate -> ساختن / ایجاد نمونه شیء / نمونه‌سازی
    

    New addition proposals:

    * Pretrained Model(s) -> مدل(های) از پیش تعلیم دیده
    
    * Downstream Library[1](#user-content-fn-1-3f67abe9faa27628a7fbb8c4f6214837) -> کتابخانه پایین‌دستی وابسته
    
    * Mask Filling -> پر کردن جاهای خالی متن
    
    * Interface -> رابط کاربری
    
    * Bias -> سوگیری
    

    Footnotes

    1. Please see this link for more info on this: https://reflectoring.io/upstream-downstream [leftwards_arrow_with_hook](#user-content-fnref-1-3f67abe9faa27628a7fbb8c4f6214837)
    

    Other than "نمونه‌سازی" I vote with you on all these @hamedonline jan. "ساختن نمونه" works why invent a new word.

    I especially love your equivalents for "bias" and "downstream library".

    If you add "interface" to G, please use "user interface" to avoid duplication with API interfaces.

  19. jowharshamshiri commented on May 17, 2022

    @jowharshamshiri
    ContributorAuthor

    Hi folks, it's been really humbling to see how much care and effort you are all taking into translating the course into Persian ❤️ !

    Regarding @kambizG's suggestion:

    2. I suggest we create a channel somewhere (discord, slack, telegram, etc), where we can discuss some details? If you agree, just email me your phone numbers and I'll fix it.

    I've created a persian-translation channel on the Hugging Face Discord. To view it, you just need to activate it with an emoji on this message: https://discord.gg/hKnxnxUr

    I'll add these details to the issue description - as a general rule, I think GitHub issues are great for discussing "big issues" while Discord is great for dynamic chats over smaller items.

    I also suggest linking to Discord messages in this issue wherever that's relevant, so people reading this can get the broader context 😄

    Folks, @schoobani jan and @hamedonline jan, please join the discord.

    Easier to coordinate over there as me and @kambizG jan found out. We solved git issues over DM and I can't wait for us to hold a discussion over the equivalent for the word "padding" in main. The conversations there are more immediate and it's easier to clear up ambiguities in a timely manner like who is exactly reviewing my last PR now. Github really lacks DMs. We're waiting for you over there! ❤️❤️❤️

  20. schoobani commented on May 18, 2022

    @schoobani
    Contributor

    @jowharshamshiri It's perfect to use Discord but the Invite link is Invalid and I can't access it.

  21. jowharshamshiri commented on May 18, 2022

    @jowharshamshiri
    ContributorAuthor

    @jowharshamshiri It's perfect to use Discord but the Invite link is Invalid and I can't access it.

    maybe try again? @hamedonline jan just joined with the same link. What do you mean invalid? does it take you to discord? if it does you need to react with an emoji to the message in the channel it takes you to, and wait a little for the admins to add you to our special channel.

  22. schoobani commented on May 18, 2022

    @schoobani
    Contributor

    Invite Invalid Error

  23. jowharshamshiri commented on May 18, 2022

    @jowharshamshiri
    ContributorAuthor

    Invite Invalid Error

    Weird! Gently pinging @lewtun on this.

  24. hamedonline commented on May 18, 2022

    @hamedonline
    Contributor

    @jowharshamshiri I got the same invalid invitation message yesterday. Have you already joined huggingface discord channel dear @schoobani?
    If so, all you need to do is to go to course section and click on 🤗 earth emoji on #course-translations topic; after clicking that all sub-topics become activated and you can join conversations on #persian-translations.

  25. jowharshamshiri commented on May 18, 2022

    @jowharshamshiri
    ContributorAuthor

    @jowharshamshiri I got the same invalid invitation message yesterday. Have you already joined huggingface discord channel dear @schoobani?

    If so, all you need to do is to go to course section and click on 🤗 earth emoji on #course-translations topic; after clicking that all sub-topics become activated and you can join conversations on #persian-translations.

    I tap on the link and it takes me to the channel on discord but that might be bc I joined already. Anyways thanks to you for the instructions and I hope this works @schoobani and sorry for the unnecessary ping @lewtun.

  26. jowharshamshiri commented on May 18, 2022

    @jowharshamshiri
    ContributorAuthor

    @jowharshamshiri I got the same invalid invitation message yesterday. Have you already joined huggingface discord channel dear @schoobani? If so, all you need to do is to go to course section and click on 🤗 earth emoji on #course-translations topic; after clicking that all sub-topics become activated and you can join conversations on #persian-translations.

    @schoobani jan here's the Hugging Face Discord link. https://discord.com/invite/JfAtkvEtRb
    once there please follow hamed jan's instructions to find our channel.

  27. lewtun commented on May 18, 2022

    @lewtun
    Member

    Hi folks, sorry the link expired - it seems you've sorted it out and as @jowharshamshiri suggests you can get the latest link via the Hub:

    Screen Shot 2022-05-18 at 21 19 32

  28. yuzaiakira commented on Oct 27, 2026

    @yuzaiakira

    Hi everyone!

    I'm working on completing the Persian translation of the Hugging Face Course in my fork.

    Currently, 99 of the 104 English MDX course pages have corresponding Persian translations. The remaining five pages are:

    • chapter1/5.mdx through chapter1/8.mdx
    • chapter2/4.mdx

    I noticed that Chapter 1 sections 5–8 are checked in #773, while Chapter 2 section 4 is marked as WIP for @jowharshamshiri in this issue.

    Before translating these pages, I wanted to check whether anyone is still actively working on them or has completed drafts elsewhere.

    If they are available for contribution, I would be happy to finish them while respecting the existing Persian glossary and translation guidelines.

    I plan to prepare the entire translation in my fork before submitting reviewable PRs to the upstream repository.

    Thanks for your guidance!

  29. jowharshamshiri commented on Oct 27, 2026

    @jowharshamshiri
    ContributorAuthor
  30. yuzaiakira commented on Oct 28, 2026

    @yuzaiakira

    @jowharshamshiri

    Hi,

    I wanted to let you know that I've completed the Persian translation of the Hugging Face Course.

    All 104 course pages and 82 video subtitle files now have Persian translations. The documentation build and GitHub Actions checks are also passing.

    I've submitted the work in PR #1364:

    All existing translations from previous contributors have been preserved without modification. The PR is now open for review.

    Thank you for your earlier encouragement and for your contributions to the Persian translation project. I really appreciate your work and support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions