سؤال

أقوم بتطوير أول موقع لي متعدد اللغات، كل شيء يسير على ما يرام باستثناء جانب واحد حاسم. أنا لست متأكدا بنسبة 100٪ ما هو الخيار الأفضل هو تخزين السلاسل (عادة ما تكون كلمات واحدة) التي سيتم ترجمتها بواسطة الرمز من التعليمات البرمجية خلف الصفحات.

على الطرف الأمامي من الموقع، سأستمر ملفات موارد ASP.NET للصياغة على الصفحات. هذا الجزء على ما يرام. ومع ذلك، سيجعل هذا الموقع مكالمات XML وردود XML باللغة الإنجليزية فقط. لقد أعطيت ورقة Excel مع كل الكلمات التي سيتم إرجاعها بواسطة XML مكسورة إلى لغات مختلفة، لكنني لست متأكدا من أفضل طريقة تخزينها / الوصول إلى هذه المعلومات. هناك ما يقرب من 80 كلمة × 7 لغات.

أفكر في إنشاء كائن قاموس لكل لغة يتم إنشاؤها بواسطة ملف Global.asax في وقت تشغيل التطبيق وفقط إبقاءها مخزنة في الذاكرة. الجانب العلوي للقيام بذلك هو أن كائن القاموس لن يتم إنشاؤه مرة واحدة فقط (حتى إعادة تشغيل IIS) ويمكن الوصول إليه من قبل أي مستخدم دون الحاجة إلى إعادة بنائه ولكن الجانب السلبي هو أن لدي كائنات قاموس 7 مخزنة باستمرار في الذاكرة. الخادم هو Win 2008 64BIT مع 4GB من ذاكرة الوصول العشوائي، لذلك يجب أن أكون مهتما بالذاكرة التي يتم تناولها باستخدام هذه الطريقة؟

ما رأيك يا رفاق سيكون أفضل طريقة لتخزين / استرجاع كلمات لغة مختلفة سيتم استخدامها من قبل جميع المستخدمين؟

شكرا لمساهمتك.

ثري

هل كانت مفيدة؟

المحلول

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

إذا حدث لك مشكلة، فيمكنك الحصول عليها على ذاكرة التخزين المؤقت انزلاق، أي مخبأ انزلاق من 20 دقيقة على سبيل المثال، لكنني لا أرى أي شيء خاطئ في اختيارك في هذا الحل.

omo.

هتافات،

أندرو

PS لديك قراءة من خلال هذا، لمعرفة كيف يمكنك العثور على القيم وربط القيم في ملفات موارد مختلفة للتحكم والضربية واستخدامها البرنامجي.

http://msdn.microsoft.com/en-us/magazine/cc163566.aspx.

نصائح أخرى

طالما أنك على دراية بتأثير القيام بذلك، فسيكون نعم، تخزين هذه البيانات في الذاكرة سيكون على ما يرام (طالما كان لديك ما يكفي للقيام بذلك). بمجرد معرفة ما هو مناسب للمستخدم الحالي، فإن قذفه في الذاكرة سيكون على ما يرام. قد تنظر إلى شيء مثل Win32 أو السرعة المذكورة لتفريغ التخزين إلى خادم تطبيق آخر. استخدم هذا حتى على تطبيقك المحلي في الوقت الذي يجري بهذه الطريقة عندما حان الوقت لدفع هذا إلى خادم آخر أو ينمو تطبيقك، فسيكون لديك فصل واضح عن المخاوف المحددة في طبقة التخزين المؤقت الخاصة بك. وابقوا في الاعتبار أن المزيد من اللغات التي تدعمها أكثر الأشياء التي تخزنها في الذاكرة. راقب مقدار البيانات التي يتم تخزينها في الذاكرة على خادم التطبيق الخاص بك لأن هذا قد يصبح ساحقا في الوقت المناسب. أيضا، تأكد من أن المفاتيح التي تستخدمها هي محددة للغة. وإلا فقد تجد أنك تقوم بتخزين قائمة باللغة الألمانية للمستخدم الإنجليزي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top