Difference between revisions of "User:Ahmed Siam/GSoC2023Proposal"

From Apertium
Jump to navigation Jump to search
(Merge the Coding Challenge and Work done sections)
(Some edits)
 
(5 intermediate revisions by the same user not shown)
Line 29: Line 29:
== Proposal: Internationalization of Apertium Tools ==
== Proposal: Internationalization of Apertium Tools ==


Apertium tools are currently hard-coded as english-only.
* TODO

This project aims to internationalize them so that they can be localized easily to other languages.

Tools that will be internationalized:-
* https://github.com/apertium/lttoolbox
* https://github.com/apertium/apertium
* https://github.com/apertium/apertium-lex-tools
* https://github.com/apertium/apertium-separable
* https://github.com/apertium/apertium-recursive
* https://github.com/apertium/apertium-anaphora
* https://github.com/apertium/lexd

Each error and warning message will have a wiki page and unique ID for easy search online.

The ID format will be something like this: AP000000

Note:
* Internationalization(i18n) and Localization(l10n) are not the same thing.
* In summary, i18n is related to programming while l10n is related to translation.
* for more details about this, take a look at https://en.wikipedia.org/wiki/Internationalization_and_localization.


== Why should Google and Apertium sponser it? ==
== Why should Google and Apertium sponser it? ==


* the Internationalization of the tools makes it easier for non-english users to use it.
* The internationalization of the tools makes it easier for non-english users to use it.


== how and who it will benefit in society? ==
== how and who it will benefit in society? ==
Line 42: Line 62:


* I have done the coding challenge related to this project and its code can be found [https://github.com/ahmedsiam0/hello-with-icu here].
* I have done the coding challenge related to this project and its code can be found [https://github.com/ahmedsiam0/hello-with-icu here].
** It is a simple program that prints "Hello World" in the default language of your computer (it supports English, Spanish and Danish).
* I have also written a program that enables to internationalize shell scripts and sent a pull request to the lttoolbox repo with the program integrated (can be found [https://github.com/apertium/lttoolbox/pull/174 here]).
** It uses ICU message format for i18n and .txt resource bundle files for storing locales data.
** It uses Autotools for build automation.

== Previous Contributions ==

* Add option to set compound_max_elements in lt-proc (merged): https://github.com/apertium/lttoolbox/pull/175
* Write and add a minimal gettext equivalent to the lttoolbox repo (not merged): https://github.com/apertium/lttoolbox/pull/174
* Fix broken links in lexd README file (merged): https://github.com/apertium/lexd/pull/26


== Work Plan ==
== Work Plan ==


{| class="wikitable" border="1"
* TODO
|-
! Time Period
! Goal
! Deliverable
|-
| Community Bonding Period
May 4-28
| Discuss and define more details about the project and initialize it.
|
|-
| May 29 - June 26
| Internationalize lttoolbox
| PR on lttoolbox repository
|-
| June 27 - July 10
| Internationalize apertium
| PR on apertium repository
|-
|-
| '''midterm evaluation'''
| lttoolbox and apertium internationalized
|
|-
| July 11 - 24
| Internationalize remaining tools
| PRs on apertium-separable, apertium-anaphora, apertium-recursive, lexd, and apertium-lex-tools
|-
| July 25 - August 21
| Unknown
|
|-
| '''final evaluation'''
| Project done
|
|}

== Time Commitments ==
* I will have final exams in June so i will assign 10 hours a week for the project until i finish my exams.
* I don't have time commitments in the coding period after final exams.


[[Category:GSoC_2023_student_proposals]]
[[Category:GSoC_2023_student_proposals]]

Latest revision as of 15:34, 29 March 2023

Google Summer of Code 2023 proposal draft

Contact[edit]

Background[edit]

  • I am a freshman computer science student at Ain Shams University in Egypt.
  • Native Language: Arabic
  • Second Language: English

Skills[edit]

  • C++
  • Linux Basics
  • Git

Why am i interested in Apertium?[edit]

  • I found that Apertium is a suitable place to learn about how open source projects operate and how can i take part in.
  • It has an interesting and active community.

Proposal: Internationalization of Apertium Tools[edit]

Apertium tools are currently hard-coded as english-only.

This project aims to internationalize them so that they can be localized easily to other languages.

Tools that will be internationalized:-

Each error and warning message will have a wiki page and unique ID for easy search online.

The ID format will be something like this: AP000000

Note:

Why should Google and Apertium sponser it?[edit]

  • The internationalization of the tools makes it easier for non-english users to use it.

how and who it will benefit in society?[edit]

  • It will make the use of Apertium tools easier for non-english users.

Coding Challenge[edit]

  • I have done the coding challenge related to this project and its code can be found here.
    • It is a simple program that prints "Hello World" in the default language of your computer (it supports English, Spanish and Danish).
    • It uses ICU message format for i18n and .txt resource bundle files for storing locales data.
    • It uses Autotools for build automation.

Previous Contributions[edit]

Work Plan[edit]

Time Period Goal Deliverable
Community Bonding Period

May 4-28

Discuss and define more details about the project and initialize it.
May 29 - June 26 Internationalize lttoolbox PR on lttoolbox repository
June 27 - July 10 Internationalize apertium PR on apertium repository
midterm evaluation lttoolbox and apertium internationalized
July 11 - 24 Internationalize remaining tools PRs on apertium-separable, apertium-anaphora, apertium-recursive, lexd, and apertium-lex-tools
July 25 - August 21 Unknown
final evaluation Project done

Time Commitments[edit]

  • I will have final exams in June so i will assign 10 hours a week for the project until i finish my exams.
  • I don't have time commitments in the coding period after final exams.