More Flex Language

166 views
Skip to first unread message

حسن حربي

unread,
Oct 15, 2025, 6:43:48 PMOct 15
to The Ring Programming Language
Hello All,
Ring is beautiful Language . Specially  Syntax Flexibility is wonderful . I try write all code in Arabic and translate or extends form classes but still some words i must write by English forever

#هذا = this
#هذه = this
#نفس = self
#عملية = operator
#غرة = init
#جزر = super
 May make keyword to Modify or can make some thing and #define in c or make as Java for  constructor when make it by Name for Class and PHP when use $ to refer for self

 Greetings,
Hassan Harby
Message has been deleted

Mansour Ayouni

unread,
Oct 16, 2025, 4:59:47 PMOct 16
to حسن حربي, The Ring Programming Language
Hello Hassan,

You are welcome. The best person who can answer your question may be Mahmmoud after he comes back from holidays.

All the best,
Mansour

‪On Wed, 15 Oct 2025 at 23:54, ‫حسن حربي‬‎ <hassan...@gmail.com> wrote:‬
May be useful
--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ring-lang/9cd3c438-e1b1-4f4c-81bd-19521e514c94n%40googlegroups.com.

Ilir Liburn

unread,
Oct 18, 2025, 9:18:52 AMOct 18
to The Ring Programming Language
Hello Hassan,

keywords you mentioned are used inside the objects made of lists. Content can depend on the context. Nevertheless, on the scanner/parser level, there shouldn't be problem to translate them.

Greetings,
Ilir

Mahmoud Fayed

unread,
Nov 7, 2025, 7:42:44 AMNov 7
to The Ring Programming Language
Hello Hassan

I like your suggestion, and I think it's very import, Thanks for sharing :D

In Ring 1.25, we will add a feature to support translating identifiers like (self, super, etc.) because flexibility and syntax translations are one of the main goals behind the Ring language.

Greetings,
Mahmoud

On Thursday, October 16, 2025 at 1:43:48 AM UTC+3 حسن حربي wrote:

Mahmoud Fayed

unread,
Dec 8, 2025, 9:51:27 PM (10 days ago) Dec 8
to The Ring Programming Language
Hello Hassan

>> "Ring is beautiful Language . Specially  Syntax Flexibility is wonderful . I try write all code in Arabic and translate or extends form classes but still some words i must write by English forever"

Thanks again for your sugesstion

Now, Ring 1.25 (GitHub) support translation of the next internal identifiers using ChangeRingKeyword
This enables translation without breaking the current code which uses English identifiers (i.e. using English/Arabic names will be possible)

What you can change after this update
* This
* Self
* Super
* Main
* Init
* Operator
* BraceStart
* BraceExprEval
* BraceError
* BraceEnd



Greetings,
Mahmoud


On Thursday, October 16, 2025 at 1:43:48 AM UTC+3 حسن حربي wrote:

حسن حربي

unread,
Dec 10, 2025, 10:40:44 AM (9 days ago) Dec 10
to The Ring Programming Language



Hello Mahmoud,

Thank you for your interest. This is wonderful.
However, I’m not sure whether a function like get$SSSS can be supported too. For example:

class X
 $word 
func get$word
 see "thing !"


Greetings,

Hassan Harby


The Future of Programming

unread,
Dec 10, 2025, 10:54:41 AM (9 days ago) Dec 10
to The Ring Programming Language
Hello Hassan

Nice question about setter/getter methods

unlike init, operator, bracestart, etc which have one specific word which enable easy translation

supporting setter/getter methods is possible but requires a different way that you can already implement using Ring 1.24 or Ring 1.25 or previous versions too

call a specific function after the end of class region, say
define_setters(self) 
and write the name in Arabic
تعريف_دوال_الاسناد(نفسي) 

and in your translation library
define this function that uses Attributes(obj) to get a list of attributes and uses methods(obj) to get a list of methods

if you have arabic attribute called name الاسم

then search for methods for a setter method that uses the arabic name that you want, something like setName() but in arabic ضبط_الاسم
if this arabic method exist then use addMethod(obj,....) and add a wrapper method called setName() which will call ضبط_الاسم

Greetings, 
Mahmoud


--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
Message has been deleted

Mahmoud Fayed

unread,
Dec 10, 2025, 7:02:00 PM (8 days ago) Dec 10
to The Ring Programming Language
Hello Hassan

>> "However, I’m not sure whether a function like get$SSSS can be supported too."

Thanks again for this question, I have already created a sample to support this


Screen Shot: (Usage)

arabic_code.png

Screen Shot: (Implementation)
setter_getter.png

Greetings,
Mahmoud

حسن حربي

unread,
Dec 10, 2025, 9:28:47 PM (8 days ago) Dec 10
to The Ring Programming Language
Hello Mahmoud

Now Ring is more flex Language. Thank you for your interest.

Greetings,

Hassan Harby

Mahmoud Fayed

unread,
Dec 10, 2025, 9:31:48 PM (8 days ago) Dec 10
to The Ring Programming Language
Hello Hassan

>> "Now Ring is more flex Language. Thank you for your interest."

You are welcome :D

Greetings,
Mahmoud
Reply all
Reply to author
Forward
0 new messages