1st time speaking in a conference and this is really impressive although not much people here now and that is right for me as well as you can imagine so with this tall I basically to provide the tips and tricks from my experience working with the right-to-left languages and I think everyone knows who to make a general work with multilingual like interlingual site and not so many not everyone with the rights leftward everything into switch and everything is to adapt for them to to to rate and what was it properly so I will address scalability of sentence by briefly because gender docs rates on their action index had torus characters encoding issues as it was vital in from the ones of 7 and the differences in of for calendars for example from my own experience I work with in terms so my foundation work focused on Middle East countries and often out of Africa countries and that means of sometimes we need to war with person and that these right left and they do have a different kind so all that we an interest in this talk and you all base language and and finally some front tricks I recall this is helpful for you guys and any feedback questions comments so we much appreciate it OK so a bit about me as I'm the he said I'm UX designer and also made was that the 1 over so everything my learned silent for myself of endangers coding because all of Golden and the last Ford years working with general and that this publisher since I mentioned go up in the yeah my my companies as 1 media Foundation number effect uh base inland on at providing research training technology and in on forest communities so you know what the OK so then we start so many of you guys have worked with general and right-to-left languages the of the many in as been well stated in gender docs translation depends with the title Language and from usually depends on the target country and that this both regrets right a different kind of system so we will need to know what the target is when the audience analysis in order to on in the face of problems for them and so there you go plan plan plan we need to know what the client wants they usually don't know what they want so we need to actually the to mind when they want to tell me that language is there but now and in the future that means and your system meters can honestly and in its ability to add more languages in the future in the especially if they are right regarding the content of the deflection is gonna be linked and means answers latest side-by-side Oregon the interplay separated that means when I have same model but they can crater for example a person article or an English article so so the answer to these questions the the term 90 good approach that we need to choose on the other side the so actually having and then decide with generous sites that is gonna solve some problems so this is when goes another many problems that means you're gonna need to have different settings and that this probably in most of the cases from my experience of pain in the ass that is because for example a written down of bounded we had it was a really huge Macy's database and we needed to migrate and we have 2 sites for the Farsi and English as in English and in that case running like 10 gender management Cummins who was really a pain in the ass problems so actually you need to think that I'm not saying that the genocide so are they are good for different proposes but there you really need to know what's uh you need 1 you're approaches and what is the right uh solution for you according to your specifications of the project work on so we can consider it having 1 in which 1 that it also works that means removing genocide is becoming 1 language and 1 1 and so land and uh with the EU that is a good approach are shall we consider acid demand-based which is essentially the same but you know and just different sentence foreign due next for deployment already using uh packages like Django demands or where do when I use the descending additional domains properly only and the last point here should we just here also from mines billions it's not a good idea to generate torque is never a good idea and that is because imagine a person is not of Latin character ruling which means you have a huge unique cold streams in your your else and is very well long ugly and no 1 is going understand what that link is so it's not a good idea also for of nickel and for the 6 system itself the 1 I kid you know it is is a multilingual site it when I came here and you're absolutely right cause preferably in the Mainland which a lot in character language for example English and then cast your own the no define euros for for the different languages again so you will also want to use for non-Latin languages and in an absolute euros something like Iadies uh for the same problem and avoiding unique old alone uh euros and also for Sharon proposed to social some media and stuff so we usually use the ID so uh there's more media an so all these considerations of depend on the specifications of the project alleges that point a few things that you should do and usually do I

08:07

will I will always think about the simplest implementation domain all complicate things get juror of system on dependencies as simple as possible try to reduce complexity as much as you can have you can't so in that sense other dissuasion approach that Boston not impact the core of the system and this means at translations without changing the existing models or abuse this will cost was paying in if if you modify your your company that monitors that oscillations and efficient and you also need to support the inheritance of your models you can also mean constant the push stocks lations in the same table just to avoid expensive joins when working with big databases that's an the problem we count of and it was being 1 you know it this landed in when my reasons are in doubt mean where you have a this or many online models so in that case you probably can't build your you know on the use of our own I mean and that this that means of new more time it the and again don't touch euros upper apart from all the things that we mentioned after this does not work for conducting characters sigh here and so yeah essentially having your specifications in mind choose your right components to handle data this model tessellations or write your own uh approach uh covering all this in mind and you jump into 1 to cast your company and fortifications part of your main core assistance there are some solutions on the and you can use choose or maybe you can not because you don't like them but I will say that the 1st 1 is more the tradition that is less obstructive means you need to endure models or change anything this worked without registration uh approach where you register your files and that's all about that that's that you need to modify your your model and I get in mind and this uh dose not supports many uh John got meaning features so you won't be able to ask you you I should develop debt to support it you won't be able discharge field translated and then the last 1 is popular is very similar to wage that are it stores altus lesions in a separate table that means uh probably expensive joints again so what again depend on your specifications of from my bachelors because refer to count them in the same payments so then Kwisatz are much easier and faster so far so you can professional the no think about 7 scalability much sentence and very briefly so what you wouldn't mind will in a caste caste to be there the and that is after the last session and before you come on all engendered upside movement say anything that obviously is i things active by default just cool and and then under a languages and you notice here and you get text the same the what's the difference of yeah you get text and you get text laced so the first one and so on many from forms and or models because the told the of these definitions is only into 1 small sleep on general of start ups and downs edit and you access thing of the of the atoms on a model of the string will be translated as the so you might be looking at the small in different languages since general role was stopped and the other you get text uh is mostly for abuse and function function calls so evidently he was called of we being newly executed so you will always get the right situation became did in West right so it's a simple you to my side and and that will be collected to with their entanglement messages don't so here's warranty the font part starts in the direction of to if a question is do you really needs Jan writing to me rights left that this report intellectually and but so this is a multilingual site and they need to tessellate I mean it's not most of the cases always have and you're specifications but and you probably don't and you probably what have just situation side by side a Kansas ladies in the case of the contest was linked or do I have enjoyed just grade of the right to left items in a separated the Jag what you want you actually used against which the direction of the former just a form the and then means is really annoying for them but is not that annoying when they have a text field to to write in the in the wrong direction for them but it is and that's a torus like about they need to have the right the direction so that is quite easy to do with the settings of the text editor or you obviously teachers want supports the SEKT talk and the and that this debate actually you need just change the language this approach will work perfectly he's of and the the content is not linked so the same model can be in question or English they can just select the the language and then change direction and then saved in the item and parcel so some ensues and with yes have been working with Python 2 . 7 but I'm mean now and that this but that means a lot of issues with an the and called in the and so you probably will get this nice 1 you see code the cold error I I don't that

16:00

many many times and drug drug drove me crazy actually so there's a really Woodward afterlife indeed the best article I found which is that 1 if you were to count the is back dollar is good article explains easily the show you can replicate this obviously at the work it in the salad plant so he said Jews that your valuables right you plug in that unit code into another unit told the worst fine as you can see you plugging UTS into an R. ETS this force not problem you can plot you encode into a hideous the right sequence but but the plugging at UTS strain into a unique and doesn't work so well and that is a 1 of the cases where do you get a nice 1 we so again that's the article view when I write it down if June don't want this trouble just Python 3 solution but of if some variables are byte sequences instead of human cloned objects convert them to encode objects with the cold before handle so as you can see them the 0 I think that solves this problem by becoming more explicit string literals are now unit called by default a 1 byte sequence are stored In the meantime come by dates this is a really fun 1 2 so this is very day right it money there that that this the jolly calendar effects Canada the that means the day in and day day to select dates land that friend and a jack on Jan got me and so as is used as possible you wanna provide and with the tools to select that I will recommend their which it's the and they speakers that supports of elite under and many other different calendars but sigh 1 recommend that because you want to minimize your bank right and you will end up probably with problems so this this library specifically for uh uh into the calendar and is is most of the cases of which is provided job down you know they long and lot and your job towns and then when saving compared that with this into the or a calendar recalled you were in common all of this talk about international inflation an era of other kinds of events a language code prefix s most of the cases you wanted to it can also handle so domains um but so that's cool easy and and are about as latent euros again these are a big 1 in gender dogs in most cases it's best to use translated only within a language code prefix walk of partons using I him part this this is toward the possibility that data slated euros calls a collision within non-Gaussianity euro so they're talking avoid translating you work in the same for all is in many language the of Latin character language and then well served rest with so cool front-end text that some well we find out pretty helpful make all these holds for you guys so this is simple yeah you can get to the current language you can also include the direction of the current language they actually get current language of direction it's it returns true or false and that's why you consider if below are RTL or entity our right to you can also make a complete thought just efficient proposes here the agency that time selected known dynamically when the templates are rendered that apparent RTL all LTR and that means you can actually use any the dust runners like gold or went back or whatever and compiled yourselves in your judgment follows like that and then just are selecting dynamically depending on the the language the and here's some sense of good things and where EC actually in I was going to mention so imagine your app dolt archaeal as a source file is your entry point for your gulp to collect all the war with back and that is what you said is right to left to a different font size because usually they meet the a bigger size and then you can import your you know a specific rest left uh styles for battle which In the other way for the English again for the other direction I mean you can be said that false and then import your specific and here this sucks test mixins of can pull the waste your of the time by 50 per cent that means you don't have to write a different styles for different for the 2 directions right so you can use that nicely and say a long interlude modular value and that's we will actually don't that just fact-check and apply left or right depending on the direction that is pretty cool in recent years of in the so we yeah that is my statement anyone can make the simple complicated by creativity is making a complicated when a simple and achieve dual roles and and in trouble thank you he thank you thank you and influence it now we too have time for about 2 questions

23:51

so my question is a good model translations and have you you had up to here and then issue translating of maybe models from third-party apps that bring migrations you don't control bring so that you have you on the is added model-based translations to any apps the reusable apps that you've installed the right of the project the if he in depends and your approach right and and what I mean about the the user model gendered doing a model translations using that and you can register your right I guess the yet so that the conflict is that if it's a free added translation adds migrations data fields but right at the new of migrations but this that this was a reusable out In nowadays you probably want to what extent the that will create your own inside your up and and the installation right didn't order it of carry 1 thanks a lot for the representation I so question this is sorta like I this is just more valid translations in general I give notice like a lot in the last couple years that a browsers are getting better at identifying that's a different language displaying on the page and no prompt users go there you know it also looks like this pages in French over your English the once you the translation and I'm wondering like How much if you know how much sure that is and is obviously you know like fur for causal clients it might have it cost money to you know do all these translations and that they like the idea of just having an automatic thing and and where that's with the stated that is at that is probably not a good idea Gintis lation on the fly right yes yeah like this that this newsroom already in use everyone knows that for example with later and thus not specially properly right especially with for you know of the speakers on idioms there indirect language longest into English to Spanish sometimes is fun you so this is not a media for EU x from a US perspective you know that the the the Our any all think he's now West shell and it thank you bye thanks

Inhaltliche Metadaten

LANGUAGE DETECTION How to address URL based translation and Django language detection easily. RTL LANGUAGE DIRECTION Most of them are speaking in a language which is written right to left so it’s not enough to just translate your app to their language. You should change the style of your app to display them in a correct format. Some graphic elements should be flipped horizontally to make sense for them. CHARACTER ENCODING ISSUES When you are working with a language with completely different form of alphabet and characters there is a huge chance that you face an issue if you don’t abide some encoding standards. CALENDAR SYSTEM Some of those countries have their own calendar which is completely different from gregorian calendar which is used in most of west countries. There are some apps helping you to convert unix timestamp to those different calendar format in both backend and frontend side INTERFACE DESIGN AND PROPER FONTS As their language is RTL some graphic elements need to be mirrored. Although it is true for most of layout parts but there are still some sections that needs to keep their direction, like mathematical equations, multimedia players progress bar, … Using modern frontend tools like SASS mixin to automatically float elements depending on the language direction.