I am building a multilingual site (using Omega theme) which has two languages, one LTR and the other is RTL.
Can someone please explain how the RTL mechanism works for css in Omega theme?
The css file with the rtl at the end will be loaded whenever you have a RTL language added to your site. in Omega as the CSS files are generated by Scss you need to create a scss file with the rtl at the end of the file so at the time of compiling the scss you will have the rtl css files ready to use. The RTL files will override the original files.
As far as I can see, adding a global-rtl.css file to your subtheme's CSS folder will allow you to have CSS applied when an RTL language such as Arabic or Hebrew is activated. However, for me, adding similar RTL css files to cater for other CSS files in the Omega hierarchy, such as adding an alpha-default-rtl.css file, has no effect and they are overwritten by the alpha-default.css file's CSS.
By default Drupal check the current used language for the logged-in user and if its LTR it will load all defined CSS files normally, and if the language is RTL (Hebrew, Urdu, Arabic ...) it will load the default defined CSS + any file with the same name for the CSS files defined in your theme/module that is suffixed with "-rtl.css".
you have theme defines CSS file:
in English it will be loaded normally.
in your RTL language the style.css file will be load then the style-rtl.css like
check this: https://www.drupal.org/node/222782
NOTE: you don't need to define the RTL css files in your .info files.