اذهب إلى المحتوى
  • 0

كيفية ترجمة النصوص التي تأتي من قاعدة البيانات للغة العربية

Flutter Dev

السؤال

السلام عليكم ورحمة الله وبركاته

تحيه طيبه للجميع

لدي استفسار اعزائي

انا عامل ترجمة لتطبيقي وهو يدعم اللغة العربية والانجليزية الافتراضية بطبيعة الحال . مشكلتي الان اني عامل مجموعة كلمات في قاعدة البيانات بحيث اني اعرض صوره + النص المرافق لها الذي سبق وتم تخزينه في قاعدة البيانات ولكن اذا كان تطبيقي يعمل بلغة العربية الان مثل المستخدم مختار العربية كيف ممكن نترجم هذا النصوص التي تأتي لنا من قاعدة البيانات الى للغة العربية .

مع العلم اني احصل على البيانات من خلال الاتصال التالي :والحقل المطلوب ترجمته حول حقل name

    private void parseJSON() {
        String url = "https://===========.000webhostapp.com/ww.php";
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        progressDialog.dismiss();
                        try {
                            JSONArray jsonArray = response.getJSONArray("students");

                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject hit = jsonArray.getJSONObject(i);
                                JSONObject jsonObject=null;
                                String creatorName = hit.getString("categoryID");
                                String imageUrl = hit.getString("name");
                                String movie_id = hit.getString("imageurl");
                                mExampleList.add(new ListCatgery(creatorName,imageUrl,movie_id));
                            }
                            mExampleAdapter = new AdapterCatgeryMain(getContext().getApplicationContext(), mExampleList);
                            mRecyclerView.setAdapter(mExampleAdapter);

                        } catch (JSONException e) {
                            e.printStackTrace();
                       
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        mRequestQueue.add(request);
    }

 

أي فكرة لديكم اعزائي لذلك؟

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

مرحباً مروان ...
الفكرة أنك تقوم بتخزين الخانة التي تريد ترجمتها بأكثر من لغة في قاعدة البيانات مثلا name_ar و name_en بحيث في الخانة name_ar تُخزن الإسم باللغة العربية و في الخانة name_en تُخزن الإسم باللغة الإنجليزية و عندما تريد أن تعرض البيانات يُمكنك عرض الإسم حسب لغة المُستخدم .

الفكرة الثانية أنك مثلا تريد عمل ترجمة لجدول users فتقوم بجعل كافة البيانات التي تحتمل ترجمة في جدول ثاني و تُسميه user_translations بحيث الجدول الأول يحتوي على البيانات التي لا تحتاج ترجمة و الجدول الثاني يحتوي على البيانات التي تحتاج ترجمة بحيث تربط الجدولين معاً بعلاقة 1 لأكثر يعني صف واحد من جدول users يكون له صف أو أكثر من جدول user_translations مثلا نريد ترجمة خانة إسمها name سيكون جدول user_translations يحتوي على الخانات التالية:

  • id
  • user_id
  • name
  • locale

الخانة locale سنُخزن فيها لغة الصف فمثلا لو كنا نريد اللغتين العربية و الإنجليزية سيكون لكل صف من الجدول الأساسي صفين من الجدول الثاني صف يتم تخزين فيه الإسم باللغة العربية و تكون الخانة locale تحتوي على ar و صف يتم تخزين فيه الإسم باللغة الإنجليزية و تكون الخانة locale تحتوي على en

بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
بتاريخ 13 دقائق مضت قال مروان مروان3:

اعتقد ان الفكرة الاولى اسهل واوضح لدي بحيث يمكنني فقط عمل استعلامين او اعمل دالة الاتصال مرتين لو كانت للغة التطبيق عربية شغل لي ميثود الفولي التاليه ولو كانت انجليزية شغل لي ميثود الفولي التالية 

أظن أن الإستعلام سيكون نفسه فقط ستُغير طريقة العرض و لنفرض أنك قمت مسبقاً بتخزين لغة المُستخدم في متغير بهذا الشكل: 

String lang = "...."; // ar or en

و في الحلقة التي تقوم بها بعد جلب البيانات ستقوم بالتالي: 

String imageUrl = hit.getString("name_" + lang);

و بهذا الشكل سيتم عرض البيانات حسب لغة المُستخدم التي يتصفح بها التطبيق

بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال عبود سمير:

مرحباً مروان ...
الفكرة أنك تقوم بتخزين الخانة التي تريد ترجمتها بأكثر من لغة في قاعدة البيانات مثلا name_ar و name_en بحيث في الخانة name_ar تُخزن الإسم باللغة العربية و في الخانة name_en تُخزن الإسم باللغة الإنجليزية و عندما تريد أن تعرض البيانات يُمكنك عرض الإسم حسب لغة المُستخدم .

الفكرة الثانية أنك مثلا تريد عمل ترجمة لجدول users فتقوم بجعل كافة البيانات التي تحتمل ترجمة في جدول ثاني و تُسميه user_translations بحيث الجدول الأول يحتوي على البيانات التي لا تحتاج ترجمة و الجدول الثاني يحتوي على البيانات التي تحتاج ترجمة بحيث تربط الجدولين معاً بعلاقة 1 لأكثر يعني صف واحد من جدول users يكون له صف أو أكثر من جدول user_translations مثلا نريد ترجمة خانة إسمها name سيكون جدول user_translations يحتوي على الخانات التالية:

  • id
  • user_id
  • name
  • locale

الخانة locale سنُخزن فيها لغة الصف فمثلا لو كنا نريد اللغتين العربية و الإنجليزية سيكون لكل صف من الجدول الأساسي صفين من الجدول الثاني صف يتم تخزين فيه الإسم باللغة العربية و تكون الخانة locale تحتوي على ar و صف يتم تخزين فيه الإسم باللغة الإنجليزية و تكون الخانة locale تحتوي على en

بالتوفيق

اهلا بيك عزيزي

اعتقد ان الفكرة الاولى اسهل واوضح لدي بحيث يمكنني فقط عمل استعلامين او اعمل دالة الاتصال مرتين لو كانت للغة التطبيق عربية شغل لي ميثود الفولي التاليه ولو كانت انجليزية شغل لي ميثود الفولي التالية 

 

واضحه الغالي كل الشكر لك بطبقها ولو فيه شي ما فهمته الي عوده لك عزيزي تسلم

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 ساعات قال عبود سمير:

أظن أن الإستعلام سيكون نفسه فقط ستُغير طريقة العرض و لنفرض أنك قمت مسبقاً بتخزين لغة المُستخدم في متغير بهذا الشكل: 


String lang = "...."; // ar or en

و في الحلقة التي تقوم بها بعد جلب البيانات ستقوم بالتالي: 


String imageUrl = hit.getString("name_" + lang);

و بهذا الشكل سيتم عرض البيانات حسب لغة المُستخدم التي يتصفح بها التطبيق

بالتوفيق

شكرا لك عزيزي لقد نجح الامر حسب تعليماتك السابقه 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...