Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt potodo in Makefile #130

Open
mattwang44 opened this issue Oct 26, 2021 · 1 comment
Open

Adopt potodo in Makefile #130

mattwang44 opened this issue Oct 26, 2021 · 1 comment
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@mattwang44
Copy link
Collaborator

mattwang44 commented Oct 26, 2021

I found a tool named potodo that provides same functionalities with part of our current Makefile commands but has better format. We can consider adopting this tool in our Makefile (or even storing the output as a file and updating it whenever a PR is merged).

  • Listing untranslated files

    • make todo
      > make todo           
      for file in *.po */*.po; do echo $(msgattrib --untranslated $file | grep ^msgid | sed 1d | wc -l ) $file; done | grep -v ^0 | sort -gr
      929 library/stdtypes.po
      790 library/os.po
      660 whatsnew/3.3.po
      633 library/curses.po
      577 c-api/typeobj.po
      555 whatsnew/3.7.po
      554 library/datetime.po
      539 whatsnew/3.5.po
      539 whatsnew/2.6.po
      518 whatsnew/3.2.po
      517 whatsnew/3.6.po
      ...
      
    • potodo
      > potodo
      # extending (3.17% done)
      
      - building.po                      0 /  23 (  0.0% translated)
      - embedding.po                     1 /  45 (  2.0% translated)
      - extending.po                     2 / 158 (  1.0% translated)
      - newtypes.po                      0 /  91 (  0.0% translated)
      - newtypes_tutorial.po             0 / 123 (  0.0% translated)
      - windows.po                       0 /  21 (  0.0% translated)
      
      
      # faq (10.27% done)
      
      - design.po                       13 / 141 (  9.0% translated), 2 fuzzy
      - extending.po                     0 /  60 (  0.0% translated)
      - general.po                      33 /  91 ( 36.0% translated)
      - gui.po                           2 /  17 ( 11.0% translated)
      - library.po                      11 / 142 (  7.0% translated)
      - programming.po                  13 / 372 (  3.0% translated)
      - windows.po                       3 /  47 (  6.0% translated)
      ...
      
  • Listing fuzzy entries

    • make fuzzy
      > make fuzzy
      for file in *.po */*.po; do echo $(msgattrib --only-fuzzy --no-obsolete "$file" | grep -c '#, fuzzy') $file; done | grep -v ^0 | sort -gr
      163 library/functions.po
      8 library/statistics.po
      5 c-api/function.po
      5 c-api/datetime.po
      4 library/unittest.po
      3 library/heapq.po
      ...
      
    • potodo --only-fuzzy
      > potodo -f
      # c-api (5.20% done)
      
      - datetime.po                      8 /  41 ( 19.0% translated), 5 fuzzy
      - dict.po                          5 /  30 ( 16.0% translated), 1 fuzzy
      - function.po                      4 /  18 ( 22.0% translated), 5 fuzzy
      - unicode.po                       5 / 334 (  1.0% translated), 1 fuzzy
      
      
      # distutils (0.00% done)
      
      - examples.po                      0 /  46 (  0.0% translated), 1 fuzzy
      
      
      # faq (9.22% done)
      
      - design.po                       13 / 141 (  9.0% translated), 2 fuzzy
      ...
      
  • Get overall progress

    • make progress
      > make progress
      4.4%
      
    • potodo | tail -n2 | head -n1 | cut -c 10- | sed 's/[%].*$/%/g'
      > potodo | tail -n2 | head -n1 | cut -c 10- |  sed 's/[%].*$/%/g'
      4.31%
      
@mattwang44 mattwang44 added enhancement New feature or request good first issue Good for newcomers labels Oct 26, 2021
@grimmer0125
Copy link
Contributor

grimmer0125 commented Nov 10, 2021

I like this idea. In the meantime, I thought potodo --only-fuzzy is not the same as make fuzzy.

Copy from my markdown comment, https://hackmd.io/iwuK9RNcSdyGmfKLxx748w?view#Agenda
Actually, a fuzzy string is a string marked as "#, fuzzy" and "make fuzzy" is to find out a subset of fuzzy strings whose msgstr is not empty. In other words, it is to find out ever translated fuzzy strings. "#, fuzzy" is appended by some script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants