Қазақша мен орысша екі тілдік интерфейс: логиканы қайталамау
Корпоративтік жүйеде қазақша мен орысша екі тілдік интерфейсті қалай жобалап, деректер мен логиканы қайталамай басқаруға болатынын — справочниктер, іздеу және баспа формаларын біріктіріп түсіндіреміз.

Неге логиканы қайталамау қажет
Екі тілдік функцияны «қолмен» жасасаңыз, көбіне екі экран, екі справочник және екі жұмыс сценарийі пайда болады: орысша және қазақша. Бастапқыда осылай жасаған оңай сияқты көрінеді, бірақ тәжірибеде бұл жиі айырмашылықтарға апарады: бір тілде өріс қосылды, екіншісінде ұмытылды; бизнес‑ережені бір жерде жаңартты, екіншісінде — жоқ; пайдаланушылар әртүрлі нәтижелер алады.
Қайталанудың негізгі мәселесі — бір жүйенің ішінде екі жүйені ұстайсыз. Процеске кез келген өзгеріс (жаңа мәртебе, қосымша реквизит, жаңа баспа форматы) екі жерде қайталанып, тексерілуі тиіс. Тестілеу де екі еселенеді, ал қателер саны артады, себебі комбинациялар шығады: RU‑экран + KZ‑справочник, KZ‑баспа + RU‑деректер, әртүрлі рөлдер әртүрлі логикада әрекет етеді.
Көбіне бірінші бұзылатын және «көру қиын» бөліктер:
- іздеу (бір тілде табады, екіншісінде — жоқ немесе нәтижесі әртүрлі)
- баспа және есептер (кейбір жазулар аударылмаған, реквизиттер араласып кеткен)
- құқықтар (бір тілде батырма жасырылған, екіншісінде ұмытылған)
- интеграциялар және экспорттар (сол өрістер әртүрлі кодтармен немесе атаулармен кетеді)
Қазақстанда пайдаланушыларда интерфейс тілі мен дерек тілі жайлы әртүрлі күтулер болады. Адам интерфейсті қазақша қояды, ал құжаттардағы контрагенттер, лауазымдар немесе мекенжайлар орысша енгізілген болуы мүмкін (немесе керісінше). Егер жүйе деректерді экран тілінің нұсқасына қатты байласа, бір объект екі түрлі болып көріне бастайды: справочниктерде дубли пайда болады, есептерде айырмашылықтар шығады.
Практикалық мысал: сатып алу жүйесінде бір бөлімшелер келісімшарттарды орысша басады, басқалары қазақша, бірақ келісу мен мәртебелер бірдей болуы тиіс. Егер логика тілге бөліне берсе, регламент өзгергенде (мысалы, ИИН/БИН үшін міндетті өріс қосылды немесе жаңа келісу кезеңі пайда болды) түзетулер екі жерде жасалуы керек. Баспа формалары мен құқықтарда бірнәрсе ұмытып кету қаупі өседі.
Логика бір болғаны дұрыс: тіл тек көрсетілімде өзгерсін — жазулар, атаулар, формулировкалар, іздеу және баспа. Осындай тәсілге қызмет көрсету оңайырақ, тестілеу жеңіл, әрі кеңейту ыңғайлы (үлкен ұйымдарға енгізгенде бұл әсіресе маңызды, мысалы GSE.kz деңгейіндегі жүйелік интеграция жобаларында сапа мен бәсекелестік үшін).
Нені екі тілде жасау керек
Екі тілдік енгізуде ең үлкен қате — интерфейс тілі мен дерек тілін араластыру.
Интерфейске әдетте батырмалар, өріс белгілері, подсказкалар, қателік хабарламалары, бөлім атаулары кіреді. Бұл UI‑мәтіндер және оларды бизнес‑логикадан бөлек сақтау ыңғайлы.
Деректер тілі — пайдаланушылар енгізетін, кейіннен ізделетін, басылатын және экспортталатын мәндер: ұйым атаулары, лауазымдар, тауарлар мен қызметтер атаулары, мәртебелер, бөлімдер. Бұл мәндер справочниктер мен құжаттарда сақталады. Осында жиі екі справочник жасау азғырады. Ережені қабылдаңыз: объект біреу, ал оның көрсетілетін атаулары екі болуы мүмкін.
Аударуды қажет етпейтін деректер де бар: кодтар, ИИН/БИН, серия нөмірлері, артикулдар, келісім және шот нөмірлері әр тілде бірдей болуы керек. Бұларды «аудару» деректерді шатастырып, қосымша тексеруге алып келеді.
Алдын ала fallback ережесін келісіңіз, интерфейс біркелкі болсын, аударма жоқ болса да:
- KZ таңдалған және аударма бар болса — KZ көрсетеміз
- KZ таңдалған және аударма жоқ болса — RU көрсетеміз (керісінше де солай)
- егер RU да, KZ да жоқ болса — код немесе техникалық кілт көрсетіліп, аударым жоқ екені белгіленсін
Бір объектінің бірнеше нұсқасын тудырмау үшін біртұтас кілт қажет. Справочниктерде әдетте бұл ішкі ID (немесе GUID), ол тілге тәуелсіз. Тілдік атаулар бөлек өрістерде (name_ru, name_kk) немесе аудармалар кестесінде сақталсын, бірақ әрдайым бір кілтке байлансын. Сол кезде іздеу, құқықтар, құжаттар және баспа бір логика бойынша жұмыс істеп, тек мәтін көрсетілімі өзгеретін болады.
Справочниктер: RU және KZ үшін деректер моделі
Справочниктер — екі тілдік жұмыста жиі ең көп проблеманы тудырады: олар көп, everywhere қолданылады және қателік жүздеген кішігірім багтарға айналады. Жақсы деректер моделі объектілерді көшірмей екі тілді жасауға көмектеседі.
Ең қарапайым нұсқа — бөлек өрістер name_ru және name_kk. Бұл екі тіл шектеулі және мәндер қысқа, справочник құрылымы тұрақты болғанда (мысалы, құжат түрлері, мәртебелер, бөлімдер) ақталады. Артықшылығы — оқу және сүзгілеу оңай. Кемшілігі — үшінші тіл іске қосылғанда миграция және көптеген өзгерістер қажет болады.
Икемдірек нұсқа — аудармалар кестесі: entity_id, lang, value (қажет болса мән түрі). Бұл көп тілдер немесе әртүрлі мәтін түрлері қажет болған кезде ыңғайлы (толық атау, қысқаша, баспаға арналған). Маңызды — аударма справочник дерегінің бөлігі болсын, бөлек көшірме емес.
Уникалдылық туралы болжамдардан аулақ болыңыз. Әдетте уникалды болып саналатын тұрақты код (code немесе external_id) болады, ал name_ru және name_kk қайталануы немесе өзгеруі мүмкін. Егер бизнес атаулардың бірегей болуын талап етсе, бұл талапты тілге қарай және справочник шегінде бөлек белгілеп қойыңыз.
Атау түрлерін алдын ала ойластырыңыз. Көп жағдайда ресми атау (келісімшарттар мен баспа үшін), қысқаша атау (кестелер мен карточкаларға), қысқартылған нұсқа және іздеу үшін балама нұсқалар қажет болады.
Пакеттік жаңартуларды мәтін бойынша емес, код бойынша жасаңыз. Осылайша орысша атауды жаңартасаңыз қазақшасы жойылмайды. Практикалық ереже: импорт алдымен базалық жазбаны (код, белсенділік) жаңартасын, содан кейін аудармаларды lang бойынша бөлек қадамда жаңартсын; болмаған мәндерді автоматты түрде өшірмеңіз, тек арнайы «өшіру» флагы арқылы өшіріңіз.
Экранда справочниктерді көрсету — экрандарды көшірусіз
Идея қарапайым: бір экран, бір логика, ал тіл — тек көрсету баптамасы. Осылайша екі тілдік функционал екі параллель формаға айналмайды.
Справочник тізімдерінде әдетте бір тіл негізгі ретінде көрсетіледі, ал екіншісі подсказка ретінде беріледі. Мысалы, «Атауы» бағанында ағымдағы тілді көрсетіп, жанында (немесе tooltip‑та, немесе күңгірт түспен) баламасын көрсетесіз. Бұл терминді жылдам тануға көмектеседі және құжаттарда екі нұсқа кездескенде қателіктерді азайтады.
Сұрыптау — сапа сезімін ең көбіне бұзатын жер. Қазақ және орыс әліпбиінің әріптік тәртібі әртүрлі, сондықтан «қалай болса солай» сұрыптасаңыз адамдар қажетті деректі таба алмайды. Практика: ағымдағы тіл өрісіне қарай сұрыптау және оған сәйкес коллацияны пайдалану. Егер дерекқор не іздеу жүйесінде коллация бөлек бапталса, KZ және RU‑ге лайықты коллация таңдаңыз.
Фильтрлер мен выпадающий тізімдерде ережелерді мәтінге емес, кілтке негізде ұстаңыз. Фильтр идентификаторлармен салыстырсын (id, code), ал мәтіндік жазулар UI‑да соңғы сәтте қойылсын.
80% мәселелерді шешетін бірнеше ереже:
- элементтің бір кодын (
code) және екі көрсетілетін мәнін (RU және KZ) сақтаңыз; экран әрқашанcodeбойынша жұмыс істесін - выпадающие тізімдерде ағымдағы тіл көрсетілсін, екінші атауды сирек шатасатын терминдер үшін қосыңыз
- бос аудармалар үшін түсінікті fallback қолданыңыз: негізгі тіл + аударым жоқ деген белгі
- өріс белгілерін көшірмеңіз: экранда бір кілт (мысалы,
label.customerType) болсын, мәтіндер аударым сөздігінде сақталсын
Осылай UI біреу болып қалады, ал тіл ауыстыру баптама ғана болады, жаңа даму бағыты емес.
Екі тілде іздеу: қалай алдын ала болжамды ету
Корпоративтік жүйеде іздеу тек справочниктағы жол емес. Пайдаланушылар күтетіні — бірдей жұмыс істеу: справочниктер бойынша (контрагенттер, лауазымдар), құжаттар тізімі бойынша (өтініштер, шоттар) және формадағы жедел іздеу (мысалы, «Қызметкер табу»).
Негізгі ереже: адам енгізіп үйренгендей жазысын, жүйе деректер қай тілде толтырылса да бірдей табады.
Енгізуді нормализациялау: кездейсоқ айырмашылықтарды жою
Біріншіден сұрауды және деректерді бір көрініске келтіріңіз. Осылайша «Алматы», «алматы» және « Алматы » бірдей болады. Әдетте жеткілікті: регистрді біркелкі ету, артық пробелдерді алып тастау, қайталанатын бөлгіштерді жою, диакритикаларды нормалдау және әріп нұсқаларын біріздендіру. Сонымен қатар пернетақта раскладкасын ескеріңіз: кейде адам RU әріптеріне қарағанда KZ-де теріп қалуы мүмкін.
Осыдан кейін индексация мен ранжирлеу үшін тұрақты база болады.
Индексация және сұрау: бір анық әдіс
Көбінесе бір индекс ұстаған ыңғайлы, бірақ оған RU және KZ үшін бөлек өрістер (name_ru, name_kz) қосылады, сонымен қатар екі тілдің де нұсқалары жиналған жалпы search_text өрісі болуы мүмкін. Осылай сұрау әрдайым бір жерге барады, ал интерфейс тілі тек көрсетілімге әсер етеді.
Егер қолданушы RU-да енгізіп, дерек KZ-да болса (немесе керісінше), сұрауды екі тілдік өріс бойынша бірдей өткізген дұрыс. Транслитерация не сәйкестік сөздіктерін қосымша қабат ретінде пайдалануға болады, бірақ олар негізгі тіркеме болмауы тиіс.
Ранжирлеуді қарапайым ұстаңыз: дәл сәйкес келу — жоғары; сөздің басымен сәйкес келу — солдан жоғары; ағымдағы интерфейс тіліндегі сәйкес келу — екінші тілге қарағанда сәл жоғары; транслитерация арқылы табылғандар — нақты сәйкес келуден төмен.
Мысал: сатып алу бөлімінің қызметкері «Aстана» деп енгізді, ал контрагент «Астана» немесе «Astana» деп енгізілген. Егер енгізу нормаланған және іздеу екі өріс бойынша жүрсе, нәтиже бірдей және түсінікті болады.
Баспа формалары: бір шаблон, екі тіл
Баспа формалары екі тілдік жұмыста жиі бұзылады, себебі мәтіндер шаблонға қатты жазылып қойылады. Екі жаққа көшіп кетпеу үшін жауапкершілікті бөліңіз: шаблон құрылымды анықтасын (кестелер, блоктар, өрістердің тәртібі), ал тіл — жазбалар сөздігінен алынсын. Осылай бір құжат сақталып, тіл өзгертілгенде логиканы көшірмейсіз.
Тұрақты мәтіндер (тақырыптар, белгілер, мәртебелер, стандартты фразалар) тіл ресурстарында сақталсын. Шаблонда кілттер қалсын, мысалы doc.title, sign.customer, status.paid. Деректер (нөмір, дата, сома, Т.А.Ә., лауазым, реквизиттер) бірдей түрде берілсін, «егер RU болса, А өрісін бер» деген тармақталма болмауы тиіс.
Баспа тілін таңдау айқын ереже болсын, ол кездейсоқ анықталмасын. Интерфейс тілі мен құжат тілі міндетті түрде сәйкес болмауы мүмкін.
Баспа тілін қалай таңдау керек
Әдетте мына бір тәсілдердің бірі қолданылады: алушы бойынша (ұйым карточкасында тіл сақталған), регламент бойынша (кейбір құжаттар әрқашан RU немесе әрқашан KZ керек), пайдаланушы бойынша әдепкі баптама (басып тұрар алдында ауыстыру мүмкіндігі бар).
Ең күрделі аймақ — септеу және күйші сөздер қажет болатын формулировкалар: «берілді», «қабылданды», «кімге» және т.б. Құжаттарды қолмен түзетпеу үшін септеуді қажет ететін сөздерден қашыңыз: «Қол қойған: {name}», «Лауазымы: {role}» сияқты бейтарап конструкцияларды қолданыңыз. Қажет болса минималды стандартты формулировкалар жиынтығын бекітіңіз.
Релиз алдында екеуінде де верстка тексеріңіз. Қазақша жолдар жиі ұзағырақ болады, ал әріптер (Ә, Ө, Ү, Қ, Ң, І, Һ) дұрыс шрифтті талап етеді. Заголовоктар мен кестелердегі сөз бөлінісін, атаулардың қиып кетуін, күн/сан форматтарын, шрифттерді кірістіруді, әр түрлі принтерлер мен PDF‑та басып шығару кезінде өрістердің жылжып кетпеуін тексеріңіз.
Екі тілді енгізудің қадамдық жоспары
Экрандарды аударудан емес, деректер картасынан және ережелерден бастаңыз. Екі тілдік ең жиі бұзылатын жер — бір мағына RU мен KZ үшін әртүрлі сақталса және өңделсе.
Итерациямен орындауға ыңғайлы жоспар:
-
Екі тілде болуы тиіс нысандар мен өрістер тізімін жасаңыз. Әдетте бұл справочниктер (лауазымдар, бөлімдер, мәртебелер, себептер), баспа белгілері және жүйелік хабарламалар. Қандай өрістер аударылмайтынын бірден белгілеңіз (кодтар, ИИН/БИН, келісім нөмірлері).
-
Аудармаларды сақтау моделін және fallback ережесін таңдаңыз. Алдын ала шешіңіз: KZ мәні бос болса RU көрсетілсін бе, әлде бос екенін көрсетіп, өңдеуді талап етесіз бе? Мемлекеттік құжаттар үшін қатаң режим, ішкі экрандарда жәй fallback болуы мүмкін.
-
Мәтіндерді алу үшін бір қабатты іске қосыңыз. Интерфейс үшін бұл ресурс (кілт — жол), справочниктер үшін — тілге қарай displayName таңдайтын бір әдіс. Экран өзі не көрсету керегін шешпесін: логика бір жерде болуы керек.
-
Іздеу мен индексацияны осылай орнатыңыз: нәтиже болжаулы болсын. Қолданушы орысша транслитерация немесе қазақша жазу енгізе алады, жазба бірдей табылсын. Көбіне RU және KZ үшін нормаланған іздеу өрісін сақтау жеткілікті.
-
Баспа формаларын стандарттаңыз: бір шаблон, тіл параметрі, біртұтас кілттер мен өрістер. Бір сөздік пен бір орынға мәндерді қою арқылы екі ұқсас құжатты көшіруден құтылыңыз.
Одан бөлек тест деректер мен автоматты тексерулерді қосыңыз: толық аудармалары бар жазба, тек RU бар жазба (fallback тексеру), қазақша әріптер бар жазба және екі тіл бойынша іздеу.
Осы тәртіп үлкен енгізулерде жақсы жұмыс істейді: бөлімдердің біреуі орысша, біреуі қазақша жұмыс істесе де, процестер мен баспа формалары бірдей қалады.
Жиі қателіктер мен тұзақтар
Екі тілдік мәселелер көбіне батырмаларды аударудан туындамайды. Қателіктер деректер ұзақ уақыт өмір сүретін жерлерде шығады: справочниктер, іздеу, баспа және экспорт. Бір рет дұрыс емес модель таңдалса, ұзақ уақыт бойы түзетулер қажет болады.
Ең қымбат қате — справочниктерді әр тілге бөлек көшіріп алу. Соңында сізде екі «солайша» контрагент, екі лауазым, екі қойма болады. Есептер сәйкес келмей қалады, интеграциялар бұзылады, пайдаланушылар «қандай жазба дұрыс?» деп таластырады. Дұрысы — бір жазбаны ұстап, аудармаларды бөлек өрістерде немесе кестеде сақтау.
Екінші тұзақ — бір өрісте тілдерді араластыру. Атаулар кейде орысша, кейде қазақша, кейде екеуі бірге — деректер сапасы тез төмендейді. Қандай өрістер міндетті түрде RU немесе KZ болатынын және қайсысы бос болуы мүмкін екенін нақтылаңыз.
Көп жағдайда аударым тек интерфейсте жасалады, ал баспа мен экспорт ұмытылады. Бұл әсіресе мемлекеттік органдар мен сатып алулар үшін ауыр салдарға әкеледі: экранда қазақша көрінгенімен PDF немесе Excel файлдарда орысша қалады. Экрандердің сыртқы шығуын да тексеріңіз.
Іздеу бөлек тақырып: егер индекс тек бір тіл нұсқасын сақтаса, екінші тіл бойынша сұрау «ештеңе жоқ» сияқты болады. Типтік сценарий: бухгалтер лауазымды қазақша іздейді, жүйе тыныш отырады, ал жазба бар екен.
Слизгі жолда екеніңіздің белгілері:
- бір справочниктың екі нұсқасы аудармалардың орнына
- RU және KZ өрістеріне жазу ережелері жоқ
- баспа мен экспорт UI‑дан қалып қояды
- іздеу тек бір тілді индексейді
- справочниктерде жауапты адам жоқ, аудармалар жаңартылмайды
Жеңіл басқарушы қадам — әр негізгі справочникке жауапты бекіту және қысқа циклды бақылау енгізу. Мысалы, ай сайын жаңа жазбалар мен олардың аудармаларын тексеру.
Релиз алдындағы қысқа чек‑тізім
Релиз алдында тек көрінетін мәтіндерді ғана емес, жүйенің әрекетін тексеру маңызды.
Тест стендте және типтік рөлдер бойынша (оператор, басшы, бухгалтер) негізгі сценарийлерді жүргізіңіз. Нағыз жазбалармен тексеріңіз: RU мен KZ бар жазба, тек бір тілде бар жазба, ұзын атаулары бар жазба.
- Тілді ауыстыру белгілерді, подсказкаларды және қателерді өзгертсін, бірақ енгізілген деректер жоғалмауы тиіс және карточка контексті бұзылмауы керек.
- Объект карточкасында қай өрістің RU, қайсысының KZ екені айқын болсын; аударым жоқ болса бірдей fallback қолданылады және бұл барлық экрандарда бірдей болсын.
- Іздеу екі жақта да жұмыс істеуі тиіс: орысша сұрау қазақша толтырылған жазбаны табуы керек және керісінше.
- Сұрыптау мен фильтрлер екі тілде сенімді тәртіпте болсын, әсіресе ұзын справочниктерде.
- Баспа формалары мен экспорттар қазақша символдарды, жол бөліністерін және ұзын мәндерді дұрыс көрсетсін.
Аудармалардың сапасын да тексеріңіз. Олай болмағанда екі тілдік интерфейс «жартысы бір тілде» деген жағдайға айналады.
- Аудармасы толтырылмаған элементтер тізімі және жауапты адам мен мерзімі болуы тиіс, оны шеше білетін процесс қажет.
Практикалық мысал: бір жүйе, әртүрлі рөлдер мен тілдер
Кадрлық жүйені елестетіңіз. Бар — лауазымдар мен бөлімдер справочнигі, қызметкерлер карточкасы, бұйрықтар мен есептер. Астанадағы HR қазақша интерфейспен жұмыс істейді, Алматыдағы бухгалтерия сол деректерді орысша қарайды. Ең бастысы — бұл бір жүйе, екі бөлек жүйе емес.
Лауазымдар справочнигі мынадай: әр жазба бір идентификатор және екі мәтіндік өріс (KZ және RU). Бәрі бір логика бойынша жұмыс істейді: құқықтар, тексерулер, келісу маршруттары, есептеулер. Тек көрсетілімдер өзгереді.
Іздеу мысалы: бухгалтер қызметкерді лауазым бойынша іздеп, «бухгалтер» деп жазады, бірақ карточкада лауазым тек қазақша толтырылған. Егер іздеу дұрыс ұйымдастырылған болса, жүйе екі өріс бойынша іздеп, қажетті адамды табады. Пайдаланушы өз тілінде нәтижені көреді, ал басқа тілдегі деректер жоғалмайды.
Осы тұрақтылық үшін бірнеше ережені бекіту жеткілікті:
- справочникте әр жазба үшін бір код бар
- мәтін үшін екі өріс бар, екі жазба емес
- іздеу екі тіл бойынша жүреді, ал сұрыптау мен көрсету интерфейс тілі бойынша болады
- валидациялар мен бизнес‑ережелер тілге тәуелді болмауы керек
Бұйрық басып шығару мысалы: құжат тілі регламентпен (мысалы, сыртқа шығатын құжаттар үшін орысша) анықталған, интерфейс тілінен тәуелсіз. HR қазақша жұмыс жасаса да, бір және сол форма арқылы орысша бұйрықты басып шығаруға болады.
Логика бір болғанда жаңартулар бір рет жасалады: бұйрыққа жаңа өріс қоссаңыз — бір рет қана, екі бірдей шаблонды түзетудің орнына. Бұл «тыныш» қателерді азайтады, бір тілде түзетілді де, екіншісінде ұмытылды деген жағдайлар сиректенеді.
Қолдау ұйымдастыру және алдағы қадамдар
Екі тілдік енгізу релизбен бітпейді. Бір аптадан кейін жаңа бөлімдер, қызметтер, лауазымдар пайда болады — және оларға аудармалар керек болады. Егер ережелер алдын ала келісілмесе, жүйе тез арада әртүрлі және үйлесімсіз аудармалар жиынтығына айналады.
Контентке жауапты адамдарды тағайындаңыз. Бұл әзірлеушілер емес: справочниктер үшін бизнес (HR, бухгалтерия, сатып алулар) жауапты, ал жалпы терминдер үшін редактор немесе методолог қажет. Қарапайым келісу процесі керек: кім ұсынады, кім тексереді, кім бекітеді.
Жай құжат — 1–2 бет — тілдік стандарт болсын: лауазымдарды қалай жазу, қысқартуларды қалай қолдану, келісімшарттық және есеп беру мәтіндерінде қандай ресми формулировкалар қолданылатыны. Кілт терминдер үшін 10–30 сөзден тұратын глоссарий пайдалы.
Қолдауда пайдалысы:
- аудармалар сұраулары үшін біртұтас кезек (чаттардағы талқылаулардың орнына)
- жаңа мән справочникке аудармаларымен бірге ғана енгізіледі деген ереже
- тексеруші ретінде тіл білетін маман немесе күнделікті құжаттармен жұмыс істейтін қызметкер
- формулировканың қайдан алынғанын (приказ, регламент, шаблон) тіркеу
- тұрақты қысқа шолулар: не қосылды, қайсысы дау тудырды
Сондай‑ақ екі тілдік тестілеу жоспары қажет: тек мәтін көрінісін емес, іздеудің екі жақты жұмысын және баспа формаларының бірдей деректерде екеуінде де дұрыс шығуын тексеріңіз.
Келесі қадамдар әдетте былай болады: жылдам аудит (қай жерде мәтін кодқа қатты жазылып қойған, қай жерде справочниктер бар, қай жерде экран дубли бар), миграция жоспары (справочниктерді аудармалар моделіне көшіру және қатты жазылған жолдарды ресурстарға ауыстыру), кезең-кезеңімен енгізу (алдымен справочниктер мен интерфейс, кейін іздеу, одан кейін баспа), сапа метрикалары (аудармалар толған пайызы, бос өрістер тізімі).
Егер жобалау, тестілеу және енгізу тәжірибесі аз болса, GSE.kz жүйелік интегратор ретінде қосыла алады. Қажет болса команда корпоративтік шешімдерге арналған инфрақұрылым (серверлер мен жұмыс орындары) және қолдау қызметін де ұсынады.
FAQ
Неліктен орысшаға және қазақшаға бөлек экрандар жасау дұрыс емес?
Бизнес‑логика бір болу керек, ал тек мәтіндерді көрсету арқылы тіл ауыстырған жөн. RU мен KZ үшін екі параллель ветка жасау уақыт өте келе әрқашан айырмашылықтарға әкеледі: бір жерде өріс не тексеру қосылды, екіншісінде ұмытылды — пайдаланушылар әртүрлі нәтижелер алады.
Интерфейс тілі мен деректер тілі арасында қандай айырмашылық бар?
Интерфейс — батырмалар, өріс белгілері, подсказкалар мен қателік хабарламалары; бұл мәтіндер аударым сөздігінен алынып, жұмыс ережелеріне әсер етпеуі тиіс. Деректер — пайдаланушылар енгізетін мәндер (ұйым атаулары, лауазымдар, бөлімдер) және олар бір объект болып, бірнеше тілде көрсетілуі керек, екі бөлек нысан болмауы тиіс.
Дубли пайда болмас үшін екі тілдегі справочниктерді қалай сақтау керек?
Справочниктағы бір объекттің тұрақты идентификаторы (id/GUID) болуы қажет, қажет болса код та болады, аудармалар `name_ru`, `name_kk` сияқты өрістерде немесе аудармалар таблицасында сақталуы тиіс. Осылайша байланыстар, құқықтар, есептер мен интеграция кілт бойынша жұмыс істейді, ал тіл тек көрсетілімге әсер етеді.
Не таңдау керек: `name_ru`/`name_kk` өрістері ме, әлде бөлек аудармалар кестесі ме?
Егер тілдер екі ғана және справочник қарапайым болса, екі өріс (`name_ru`/`name_kk`) жеткілікті және оны оқу/фильтрлеу оңай. Егер одан көп тіл болуы мүмкін не әртүрлі мәтін түрлері (толық/қысқа/баспаға), аудармалар кестесін (`entity_id`, `lang`, `value`) қолдану ыңғайлы — құрылымды қайта жасаудың қажеті шықпайды.
Таңдалған тілде аударым жоқ болса не көрсету керек?
Бастапқыда ереже қалыптастырыңыз және everywhere қолданыңыз. Практика: таңдалған тілде мән бар болса соны көрсетіңіз; болмаса — екіншісін көрсетіңіз; екеуінде де жоқ болса — кодты немесе техникалық атауды көрсетіп, аударым толтырылмағанын айқын белгілеңіз.
RU және KZ тізімдерінде қалай дұрыс сұрыптау жасау керек?
Ағымдағы тіл өрісіне сай сұрыптаңыз да, оған арналған коллацияны (тіркеуді) қолданыңыз. Әйтпесе тәртіп кездейсоқ көрініп, адамдар іздегенді таба алмайды. Техникалық шектеулер болса, алдын ала нормаланған өрісте сұрыптауды орындаңыз (бір регистр, артық бос орынсыз) — нәтиже тұрақты болады.
Қалай іздеуді орнықтырып, орысша да, қазақша да табу қамтамасыз етіледі?
Іздеу екі тілдік өрістер бойынша бір уақытта жүруі керек, интерфейс тіліне ғана сүйенбеу қажет. Енгізілген мәтінді және деректерді нормализациялап (регистр, артық бос орын, диакритикаларды біріздендіру) сұрыптау — «Алматы», «алматы», « Алматы » сияқты нұсқалар бірдей табылсын.
Құжаттар үшін екі бейнемен екі шаблон жасау керек пе?
Бір шаблонды қолданыңыз да, тілді сөздік арқылы беріңіз: шаблон құрылымды (кестелер, блоктар, өріс тәртібі) анықтаса, тіл қысқартулар мен белгілемелерді береді (`doc.title`, `sign.customer`, `status.paid`). Құжат тілі интерфейс тілінен бөлек таңдалады және жиі-регламент, алушы немесе пайдаланушы параметрі арқылы анықталады.
Қандай өрістерді мүлде аудармай қою керек?
Кодтар, ИИН/БИН, серия нөмірлері, артикулдар, келісімшарттар мен шоттар нөмірлері — аударылмайтын өрістер. Оларды «аудару» арқылы өзгертудің орнына бірдей сақтаңыз, әйтпесе интеграциялар мен есептерде сәйкессіздіктер шығады.
Екі тілді енгізу алдында нені міндетті тексеру керек және интегратор бұл жерде қалай көмектеседі?
Минимум: тілді ауыстырғанда деректер жоғалмауы, аудармалардың fallback‑ы, екіжақты іздеу (RU сұрауы KZ дерегін таба алуы), баспа/PDF‑та қазақ әріптері мен ұзын жолдардың дұрыс шығуын тексеру. Үлкен енгізулерде интеграторды тартып, біртұтас ережелер мен тестілерді біріктірген жөн.